Exploring Global Temperature in the ERA of Climate Change¶

Puoi trovare il codice a questo profilo github Github - Global-2mTemperature-Analysis

Veronica Grazia Morelli - 839257¶

Il cambiamento climatico rappresenta una sfida formidabile per il nostro pianeta, influenzando in particolare i modelli di temperatura e esercitando profonde influenze su vari aspetti ecologici ed atmosferici. Nel campo dell'analisi delle temperature, la temperatura superficiale si distingue come una variabile chiave, offrendo importanti approfondimenti sulla dinamica climatica.

Le variazioni della temperatura superficiale influenzano una moltitudine di processi ambientali, compresa la distribuzione del calore, il trasferimento di energia e la frequenza di ondate di calore o periodi di freddo. Prevedere e comprendere le alterazioni nella temperatura superficiale ĆØ cruciale per adattarsi alle mutevoli condizioni climatiche e prevedere l'insorgenza di eventi estremi di caldo o freddo.

Questa ricerca esamina i dati storici sulla temperatura superficiale e utilizza modelli climatici per svelare sottili cambiamenti nei modelli di temperatura nel corso di diverse decadi. Analisi temporali e spaziali verranno applicate ai dati sulla temperatura superficiale per identificare tendenze, anomalie e variazioni nel tempo.

Inoltre, il progetto prevede confronti tra i dati osservati storici sulla temperatura superficiale e le simulazioni generate da un modello climatico, fornendo una prospettiva completa sulla dinamica dei cambiamenti di temperatura nel periodo studiato.

ERA5 2m Temperature¶

In questo studio, utilizzo le misurazioni mensili della temperatura a 2 metri fornite dal dataset ERA5. ERA5, sviluppato dal Centro Europeo per le Previsioni Meteorologiche a Medio Termine (ECMWF), offre un'importante prospettiva sulla natura dinamica del sistema climatico terrestre. A causa di vincoli computazionali, mi sono concentrato sulle misurazioni mensili, consentendo di catturare le tendenze più ampie e le variazioni nella temperatura nel corso del tempo.

Ho scaricato le misurazioni mensili della temperatura superficiale dal seguente sito web: Copernicus Climate Data Store - ERA5 Single Level Data.

MPI-ESM1-2-LR in SSP126 scenario¶

Il modello MPI-ESM1-2-LR ĆØ un modello di sistema terrestre all'avanguardia sviluppato dall'Istituto Max Planck per la Meteorologia (MPI-M). Appartiene alla famiglia di modelli conosciuta come Max Planck Institute Earth System Model (MPI-ESM). Questo modello ĆØ progettato per simulare vari componenti del sistema climatico della Terra, tra cui l'atmosfera, gli oceani, la superficie terrestre e il ghiaccio marino. Le sue capacitĆ  lo rendono uno strumento prezioso per lo studio della dinamica climatica, la comprensione degli impatti delle attivitĆ  umane e la formulazione di proiezioni per scenari climatici futuri.

Lo scenario SSP126 (Shared Socioeconomic Pathway 126) ĆØ uno dei Percorsi Socioeconomici Condivisi sviluppati dal Panel Intergovernativo sui Cambiamenti Climatici (IPCC). SSP126 rappresenta un mondo futuro in cui lo sviluppo sostenibile ĆØ una prioritĆ , portando a basse emissioni di gas serra. In questo scenario, sforzi internazionali coordinati portano a una significativa riduzione delle emissioni, mitigando gli impatti dei cambiamenti climatici. Serve come base per lo studio di un futuro in cui la sostenibilitĆ  ambientale e l'equitĆ  sociale sono enfatizzate.

La selezione del modello MPI-ESM1-2-LR sotto lo scenario SSP126 (2015-2050) per l'analisi fornisce una prospettiva su una traiettoria climatica futura con emissioni relativamente basse e un'attenzione alle pratiche sostenibili. Questa scelta consente di esplorare possibili esiti climatici in scenari che privilegiano la gestione ambientale e la cooperazione globale.

Ho scaricato le misurazioni mensili della temperatura superficiale dal seguente sito web: Copernicus Climate Data Store - CMIP6 Projections.

Environment Setup¶

InĀ [Ā ]:
# Import libraries
import json
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import ticker
import matplotlib.dates as mdates
from tqdm import tqdm
from datetime import datetime
import warnings
# import cv2
# import xesmf as xe

import xarray as xr
import cartopy.crs as ccrs
import cartopy.feature as cf
import geopandas as gpd
import cftime

from scipy.stats import stats

# To make visualization better
%matplotlib inline
%config InlineBackend.figure_format='retina'

# Set plot size
plt.rcParams['figure.figsize'] = [8, 4]

# To ignore all warnings
warnings.filterwarnings("ignore")

Data Import e Visualizzazioni¶

ERA5 Temperature (monthly, 1950-2022)¶

Il dataset ERA5 fornisce informazioni sulla pressione atmosferica ad alta risoluzione a livello giornaliero dal 1940 fino ad oggi. Prodotta dal Centro Europeo per le Previsioni Meteorologiche a Medio Termine (ECMWF), ERA5 rappresenta un dataset di rianalisi all'avanguardia che combina dati osservazionali con tecniche di modellizzazione avanzate.

Le misurazioni mensili della temperatura a 2 metri (temperatura superficiale) da gennaio 1950 a dicembre 2022 sono state scaricate. Le misurazioni giornaliere della temperatura erano troppo pesanti per essere supportate dal mio computer.

Puoi trovare il codice nello script api/api_monthly_temperature.py. In totale ci sono 886 misurazioni ($73 \cdot 12 = 876$).

InĀ [Ā ]:
path1_temp = 'Dataset/download_temperature_50_84.nc'
temp1 = xr.open_dataset(path1_temp)
temp1
Out[Ā ]:
<xarray.Dataset>
Dimensions:    (longitude: 1440, latitude: 721, time: 420)
Coordinates:
  * longitude  (longitude) float32 0.0 0.25 0.5 0.75 ... 359.0 359.2 359.5 359.8
  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
  * time       (time) datetime64[ns] 1950-01-01 1950-02-01 ... 1984-12-01
Data variables:
    t2m        (time, latitude, longitude) float32 ...
Attributes:
    Conventions:  CF-1.6
    history:      2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
xarray.Dataset
    • longitude: 1440
    • latitude: 721
    • time: 420
    • longitude
      (longitude)
      float32
      0.0 0.25 0.5 ... 359.2 359.5 359.8
      units :
      degrees_east
      long_name :
      longitude
      array([0.0000e+00, 2.5000e-01, 5.0000e-01, ..., 3.5925e+02, 3.5950e+02,
             3.5975e+02], dtype=float32)
    • latitude
      (latitude)
      float32
      90.0 89.75 89.5 ... -89.75 -90.0
      units :
      degrees_north
      long_name :
      latitude
      array([ 90.  ,  89.75,  89.5 , ..., -89.5 , -89.75, -90.  ], dtype=float32)
    • time
      (time)
      datetime64[ns]
      1950-01-01 ... 1984-12-01
      long_name :
      time
      array(['1950-01-01T00:00:00.000000000', '1950-02-01T00:00:00.000000000',
             '1950-03-01T00:00:00.000000000', ..., '1984-10-01T00:00:00.000000000',
             '1984-11-01T00:00:00.000000000', '1984-12-01T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • t2m
      (time, latitude, longitude)
      float32
      ...
      units :
      K
      long_name :
      2 metre temperature
      [436060800 values with dtype=float32]
    • longitude
      PandasIndex
      PandasIndex(Index([   0.0,   0.25,    0.5,   0.75,    1.0,   1.25,    1.5,   1.75,    2.0,
               2.25,
             ...
              357.5, 357.75,  358.0, 358.25,  358.5, 358.75,  359.0, 359.25,  359.5,
             359.75],
            dtype='float32', name='longitude', length=1440))
    • latitude
      PandasIndex
      PandasIndex(Index([  90.0,  89.75,   89.5,  89.25,   89.0,  88.75,   88.5,  88.25,   88.0,
              87.75,
             ...
             -87.75,  -88.0, -88.25,  -88.5, -88.75,  -89.0, -89.25,  -89.5, -89.75,
              -90.0],
            dtype='float32', name='latitude', length=721))
    • time
      PandasIndex
      PandasIndex(DatetimeIndex(['1950-01-01', '1950-02-01', '1950-03-01', '1950-04-01',
                     '1950-05-01', '1950-06-01', '1950-07-01', '1950-08-01',
                     '1950-09-01', '1950-10-01',
                     ...
                     '1984-03-01', '1984-04-01', '1984-05-01', '1984-06-01',
                     '1984-07-01', '1984-08-01', '1984-09-01', '1984-10-01',
                     '1984-11-01', '1984-12-01'],
                    dtype='datetime64[ns]', name='time', length=420, freq=None))
  • Conventions :
    CF-1.6
    history :
    2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib
InĀ [Ā ]:
temp1.time[0].values, temp1.time[-1].values
Out[Ā ]:
(numpy.datetime64('1950-01-01T00:00:00.000000000'),
 numpy.datetime64('1984-12-01T00:00:00.000000000'))
InĀ [Ā ]:
path2_temp = 'Dataset/download_temperature_85_23.nc'
temp2 = xr.open_dataset(path2_temp)
temp2
Out[Ā ]:
<xarray.Dataset>
Dimensions:    (longitude: 1440, latitude: 721, time: 456)
Coordinates:
  * longitude  (longitude) float32 0.0 0.25 0.5 0.75 ... 359.0 359.2 359.5 359.8
  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
  * time       (time) datetime64[ns] 1985-01-01 1985-02-01 ... 2022-12-01
Data variables:
    t2m        (time, latitude, longitude) float32 ...
Attributes:
    Conventions:  CF-1.6
    history:      2023-12-06 15:24:22 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
xarray.Dataset
    • longitude: 1440
    • latitude: 721
    • time: 456
    • longitude
      (longitude)
      float32
      0.0 0.25 0.5 ... 359.2 359.5 359.8
      units :
      degrees_east
      long_name :
      longitude
      array([0.0000e+00, 2.5000e-01, 5.0000e-01, ..., 3.5925e+02, 3.5950e+02,
             3.5975e+02], dtype=float32)
    • latitude
      (latitude)
      float32
      90.0 89.75 89.5 ... -89.75 -90.0
      units :
      degrees_north
      long_name :
      latitude
      array([ 90.  ,  89.75,  89.5 , ..., -89.5 , -89.75, -90.  ], dtype=float32)
    • time
      (time)
      datetime64[ns]
      1985-01-01 ... 2022-12-01
      long_name :
      time
      array(['1985-01-01T00:00:00.000000000', '1985-02-01T00:00:00.000000000',
             '1985-03-01T00:00:00.000000000', ..., '2022-10-01T00:00:00.000000000',
             '2022-11-01T00:00:00.000000000', '2022-12-01T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • t2m
      (time, latitude, longitude)
      float32
      ...
      units :
      K
      long_name :
      2 metre temperature
      [473437440 values with dtype=float32]
    • longitude
      PandasIndex
      PandasIndex(Index([   0.0,   0.25,    0.5,   0.75,    1.0,   1.25,    1.5,   1.75,    2.0,
               2.25,
             ...
              357.5, 357.75,  358.0, 358.25,  358.5, 358.75,  359.0, 359.25,  359.5,
             359.75],
            dtype='float32', name='longitude', length=1440))
    • latitude
      PandasIndex
      PandasIndex(Index([  90.0,  89.75,   89.5,  89.25,   89.0,  88.75,   88.5,  88.25,   88.0,
              87.75,
             ...
             -87.75,  -88.0, -88.25,  -88.5, -88.75,  -89.0, -89.25,  -89.5, -89.75,
              -90.0],
            dtype='float32', name='latitude', length=721))
    • time
      PandasIndex
      PandasIndex(DatetimeIndex(['1985-01-01', '1985-02-01', '1985-03-01', '1985-04-01',
                     '1985-05-01', '1985-06-01', '1985-07-01', '1985-08-01',
                     '1985-09-01', '1985-10-01',
                     ...
                     '2022-03-01', '2022-04-01', '2022-05-01', '2022-06-01',
                     '2022-07-01', '2022-08-01', '2022-09-01', '2022-10-01',
                     '2022-11-01', '2022-12-01'],
                    dtype='datetime64[ns]', name='time', length=456, freq=None))
  • Conventions :
    CF-1.6
    history :
    2023-12-06 15:24:22 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data9/adaptor.mars.internal-1701876248.4666078-32381-3-e11291a9-00f3-4ed1-9ca0-3e7f34ddf9a7.nc /cache/tmp/e11291a9-00f3-4ed1-9ca0-3e7f34ddf9a7-adaptor.mars.internal-1701876114.2477255-32381-7-tmp.grib
InĀ [Ā ]:
temp2.time[0].values, temp2.time[-1].values
Out[Ā ]:
(numpy.datetime64('1985-01-01T00:00:00.000000000'),
 numpy.datetime64('2022-12-01T00:00:00.000000000'))

Il dataset ha una dimensione di 1440 punti in longitudine e 721 punti in latitudine. La risoluzione spaziale approssimativa ĆØ calcolata come segue:

  • Risoluzione in latitudine = 360 gradi / 721 ā‰ˆ 0.4993 gradi
  • Risoluzione in longitudine = 360 gradi / 1440 ā‰ˆ 0.25 gradi

Pertanto, la risoluzione spaziale approssimativa per il tuo dataset ĆØ di circa 0.4993 gradi in latitudine e 0.25 gradi in longitudine.

Concatenation

InĀ [Ā ]:
temp = xr.concat([temp1, temp2], dim='time')
temp
Out[Ā ]:
<xarray.Dataset>
Dimensions:    (longitude: 1440, latitude: 721, time: 876)
Coordinates:
  * longitude  (longitude) float32 0.0 0.25 0.5 0.75 ... 359.0 359.2 359.5 359.8
  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
  * time       (time) datetime64[ns] 1950-01-01 1950-02-01 ... 2022-12-01
Data variables:
    t2m        (time, latitude, longitude) float32 241.5 241.5 ... 244.5 244.5
Attributes:
    Conventions:  CF-1.6
    history:      2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
xarray.Dataset
    • longitude: 1440
    • latitude: 721
    • time: 876
    • longitude
      (longitude)
      float32
      0.0 0.25 0.5 ... 359.2 359.5 359.8
      units :
      degrees_east
      long_name :
      longitude
      array([0.0000e+00, 2.5000e-01, 5.0000e-01, ..., 3.5925e+02, 3.5950e+02,
             3.5975e+02], dtype=float32)
    • latitude
      (latitude)
      float32
      90.0 89.75 89.5 ... -89.75 -90.0
      units :
      degrees_north
      long_name :
      latitude
      array([ 90.  ,  89.75,  89.5 , ..., -89.5 , -89.75, -90.  ], dtype=float32)
    • time
      (time)
      datetime64[ns]
      1950-01-01 ... 2022-12-01
      long_name :
      time
      array(['1950-01-01T00:00:00.000000000', '1950-02-01T00:00:00.000000000',
             '1950-03-01T00:00:00.000000000', ..., '2022-10-01T00:00:00.000000000',
             '2022-11-01T00:00:00.000000000', '2022-12-01T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • t2m
      (time, latitude, longitude)
      float32
      241.5 241.5 241.5 ... 244.5 244.5
      units :
      K
      long_name :
      2 metre temperature
      array([[[241.50037, 241.50037, 241.50037, ..., 241.50037, 241.50037,
               241.50037],
              [241.56113, 241.56113, 241.56113, ..., 241.55934, 241.56113,
               241.56113],
              [241.67729, 241.67908, 241.67908, ..., 241.6755 , 241.6755 ,
               241.67729],
              ...,
              [244.88527, 244.88527, 244.88705, ..., 244.88348, 244.88527,
               244.88527],
              [244.78876, 244.78876, 244.78876, ..., 244.78697, 244.78697,
               244.78876],
              [244.31874, 244.31874, 244.31874, ..., 244.31874, 244.31874,
               244.31874]],
      
             [[239.88298, 239.88298, 239.88298, ..., 239.88298, 239.88298,
               239.88298],
              [240.11888, 240.11888, 240.11888, ..., 240.11888, 240.11888,
               240.11888],
              [240.27078, 240.27078, 240.27078, ..., 240.27078, 240.27078,
               240.27078],
      ...
              [235.237  , 235.23524, 235.23524, ..., 235.237  , 235.237  ,
               235.237  ],
              [235.3093 , 235.3093 , 235.3093 , ..., 235.3093 , 235.3093 ,
               235.3093 ],
              [235.00427, 235.00427, 235.00427, ..., 235.00427, 235.00427,
               235.00427]],
      
             [[249.7975 , 249.7975 , 249.7975 , ..., 249.7975 , 249.7975 ,
               249.7975 ],
              [250.16777, 250.16953, 250.16953, ..., 250.166  , 250.166  ,
               250.16777],
              [250.35995, 250.36348, 250.367  , ..., 250.35466, 250.35643,
               250.35818],
              ...,
              [244.75475, 244.75475, 244.75299, ..., 244.76004, 244.75827,
               244.75652],
              [244.71773, 244.71773, 244.71596, ..., 244.71948, 244.71948,
               244.71948],
              [244.45148, 244.45148, 244.45148, ..., 244.45148, 244.45148,
               244.45148]]], dtype=float32)
    • longitude
      PandasIndex
      PandasIndex(Index([   0.0,   0.25,    0.5,   0.75,    1.0,   1.25,    1.5,   1.75,    2.0,
               2.25,
             ...
              357.5, 357.75,  358.0, 358.25,  358.5, 358.75,  359.0, 359.25,  359.5,
             359.75],
            dtype='float32', name='longitude', length=1440))
    • latitude
      PandasIndex
      PandasIndex(Index([  90.0,  89.75,   89.5,  89.25,   89.0,  88.75,   88.5,  88.25,   88.0,
              87.75,
             ...
             -87.75,  -88.0, -88.25,  -88.5, -88.75,  -89.0, -89.25,  -89.5, -89.75,
              -90.0],
            dtype='float32', name='latitude', length=721))
    • time
      PandasIndex
      PandasIndex(DatetimeIndex(['1950-01-01', '1950-02-01', '1950-03-01', '1950-04-01',
                     '1950-05-01', '1950-06-01', '1950-07-01', '1950-08-01',
                     '1950-09-01', '1950-10-01',
                     ...
                     '2022-03-01', '2022-04-01', '2022-05-01', '2022-06-01',
                     '2022-07-01', '2022-08-01', '2022-09-01', '2022-10-01',
                     '2022-11-01', '2022-12-01'],
                    dtype='datetime64[ns]', name='time', length=876, freq=None))
  • Conventions :
    CF-1.6
    history :
    2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib
InĀ [Ā ]:
temp.time[0].values, temp.time[-1].values
Out[Ā ]:
(numpy.datetime64('1950-01-01T00:00:00.000000000'),
 numpy.datetime64('2022-12-01T00:00:00.000000000'))
InĀ [Ā ]:
# Save
temp.to_netcdf('Dataset/temperature.nc')

Longitude Conversion¶

Da questa uscita noto che le coordinate di latitudine e longitudine si riferiscono al baricentro delle celle, ma l'intervallo di longitudine ĆØ [0, 359]. Ho convertito le coordinate di longitudine nell'intervallo [-180, 179].

La ragione di questo adeguamento è portare i valori di longitudine a un intervallo standard più comunemente utilizzato nelle scienze geografiche e nelle applicazioni GIS.

Nel dataset originale ERA5, i valori di longitudine sono forniti nell'intervallo [0, 359], dove 0 rappresenta il meridiano di Greenwich e i valori aumentano verso est fino a raggiungere 359. Questa convenzione è talvolta utilizzata nei modelli climatici e nei dati meteorologici. Tuttavia, è più comune in molte applicazioni geospaziali rappresentare le longitudini nell'intervallo [-180, 180], dove i valori negativi rappresentano ovest del meridiano di Greenwich e i valori positivi rappresentano est.

La conversione delle longitudini nell'intervallo [-180, 180] semplifica il lavoro con i dati, specialmente quando si combinano set di dati, si eseguono mappe o analisi spaziali. Si allinea allo standard utilizzato in molte librerie e strumenti GIS.

InĀ [Ā ]:
# Change longitude definition from [0, 360] to [-180, 180] 
temp['longitude_bnds'] = (temp.longitude + 180) % 360 - 180  # boundaries
temp = temp.assign_coords(longitude=temp.longitude_bnds).sortby('longitude')  # coordinates
temp = temp.sortby('latitude', ascending=False)  # sort by lat
temp
Out[Ā ]:
<xarray.Dataset>
Dimensions:         (longitude: 1440, latitude: 721, time: 876)
Coordinates:
  * longitude       (longitude) float32 -180.0 -179.8 -179.5 ... 179.5 179.8
  * latitude        (latitude) float32 90.0 89.75 89.5 ... -89.5 -89.75 -90.0
  * time            (time) datetime64[ns] 1950-01-01 1950-02-01 ... 2022-12-01
Data variables:
    t2m             (time, latitude, longitude) float32 241.5 241.5 ... 244.5
    longitude_bnds  (longitude) float32 -180.0 -179.8 -179.5 ... 179.5 179.8
Attributes:
    Conventions:  CF-1.6
    history:      2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
xarray.Dataset
    • longitude: 1440
    • latitude: 721
    • time: 876
    • longitude
      (longitude)
      float32
      -180.0 -179.8 ... 179.5 179.8
      array([-180.  , -179.75, -179.5 , ...,  179.25,  179.5 ,  179.75],
            dtype=float32)
    • latitude
      (latitude)
      float32
      90.0 89.75 89.5 ... -89.75 -90.0
      units :
      degrees_north
      long_name :
      latitude
      array([ 90.  ,  89.75,  89.5 , ..., -89.5 , -89.75, -90.  ], dtype=float32)
    • time
      (time)
      datetime64[ns]
      1950-01-01 ... 2022-12-01
      long_name :
      time
      array(['1950-01-01T00:00:00.000000000', '1950-02-01T00:00:00.000000000',
             '1950-03-01T00:00:00.000000000', ..., '2022-10-01T00:00:00.000000000',
             '2022-11-01T00:00:00.000000000', '2022-12-01T00:00:00.000000000'],
            dtype='datetime64[ns]')
    • t2m
      (time, latitude, longitude)
      float32
      241.5 241.5 241.5 ... 244.5 244.5
      units :
      K
      long_name :
      2 metre temperature
      array([[[241.50037, 241.50037, 241.50037, ..., 241.50037, 241.50037,
               241.50037],
              [241.4378 , 241.43602, 241.43602, ..., 241.4396 , 241.4378 ,
               241.4378 ],
              [241.41101, 241.41101, 241.40742, ..., 241.41458, 241.41458,
               241.4128 ],
              ...,
              [243.84514, 243.8505 , 243.85406, ..., 243.83441, 243.83798,
               243.84155],
              [244.24725, 244.25082, 244.25261, ..., 244.24188, 244.24367,
               244.24545],
              [244.31874, 244.31874, 244.31874, ..., 244.31874, 244.31874,
               244.31874]],
      
             [[239.88298, 239.88298, 239.88298, ..., 239.88298, 239.88298,
               239.88298],
              [239.84544, 239.84544, 239.84544, ..., 239.84544, 239.84544,
               239.84544],
              [239.72212, 239.72212, 239.72212, ..., 239.72212, 239.72212,
               239.72212],
      ...
              [234.69041, 234.69571, 234.69923, ..., 234.67807, 234.6816 ,
               234.68512],
              [234.96371, 234.96547, 234.96724, ..., 234.95667, 234.95842,
               234.96194],
              [235.00427, 235.00427, 235.00427, ..., 235.00427, 235.00427,
               235.00427]],
      
             [[249.7975 , 249.7975 , 249.7975 , ..., 249.7975 , 249.7975 ,
               249.7975 ],
              [249.69699, 249.69699, 249.69876, ..., 249.69699, 249.69699,
               249.69699],
              [249.44485, 249.44485, 249.44485, ..., 249.44485, 249.44485,
               249.44485],
              ...,
              [244.25752, 244.2593 , 244.26282, ..., 244.24695, 244.24872,
               244.25224],
              [244.50613, 244.50966, 244.51143, ..., 244.50261, 244.50438,
               244.50438],
              [244.45148, 244.45148, 244.45148, ..., 244.45148, 244.45148,
               244.45148]]], dtype=float32)
    • longitude_bnds
      (longitude)
      float32
      -180.0 -179.8 ... 179.5 179.8
      array([-180.  , -179.75, -179.5 , ...,  179.25,  179.5 ,  179.75],
            dtype=float32)
    • longitude
      PandasIndex
      PandasIndex(Index([ -180.0, -179.75,  -179.5, -179.25,  -179.0, -178.75,  -178.5, -178.25,
              -178.0, -177.75,
             ...
               177.5,  177.75,   178.0,  178.25,   178.5,  178.75,   179.0,  179.25,
               179.5,  179.75],
            dtype='float32', name='longitude', length=1440))
    • latitude
      PandasIndex
      PandasIndex(Index([  90.0,  89.75,   89.5,  89.25,   89.0,  88.75,   88.5,  88.25,   88.0,
              87.75,
             ...
             -87.75,  -88.0, -88.25,  -88.5, -88.75,  -89.0, -89.25,  -89.5, -89.75,
              -90.0],
            dtype='float32', name='latitude', length=721))
    • time
      PandasIndex
      PandasIndex(DatetimeIndex(['1950-01-01', '1950-02-01', '1950-03-01', '1950-04-01',
                     '1950-05-01', '1950-06-01', '1950-07-01', '1950-08-01',
                     '1950-09-01', '1950-10-01',
                     ...
                     '2022-03-01', '2022-04-01', '2022-05-01', '2022-06-01',
                     '2022-07-01', '2022-08-01', '2022-09-01', '2022-10-01',
                     '2022-11-01', '2022-12-01'],
                    dtype='datetime64[ns]', name='time', length=876, freq=None))
  • Conventions :
    CF-1.6
    history :
    2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib

Alcune Analisi con Xarray¶

InĀ [Ā ]:
print("Dimensions and Sizes:")
print(temp.dims)

print('---------------------------')

print("Coordinates:")
print(temp.coords)

print('---------------------------')

print("Attributes:")
print(temp.attrs)

print('---------------------------')

print(temp.data_vars)
Dimensions and Sizes:
Frozen({'longitude': 1440, 'latitude': 721, 'time': 876})
---------------------------
Coordinates:
Coordinates:
  * longitude  (longitude) float32 -180.0 -179.8 -179.5 ... 179.2 179.5 179.8
  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
  * time       (time) datetime64[ns] 1950-01-01 1950-02-01 ... 2022-12-01
---------------------------
Attributes:
{'Conventions': 'CF-1.6', 'history': '2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib'}
---------------------------
Data variables:
    t2m             (time, latitude, longitude) float32 241.5 241.5 ... 244.5
    longitude_bnds  (longitude) float32 -180.0 -179.8 -179.5 ... 179.5 179.8
InĀ [Ā ]:
print(temp.t2m.coords)
Coordinates:
  * longitude  (longitude) float32 -180.0 -179.8 -179.5 ... 179.2 179.5 179.8
  * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
  * time       (time) datetime64[ns] 1950-01-01 1950-02-01 ... 2022-12-01
InĀ [Ā ]:
temp.t2m[0].coords['time']
Out[Ā ]:
<xarray.DataArray 'time' ()>
array('1950-01-01T00:00:00.000000000', dtype='datetime64[ns]')
Coordinates:
    time     datetime64[ns] 1950-01-01
Attributes:
    long_name:  time
xarray.DataArray
'time'
  • 1950-01-01
    array('1950-01-01T00:00:00.000000000', dtype='datetime64[ns]')
    • time
      ()
      datetime64[ns]
      1950-01-01
      long_name :
      time
      array('1950-01-01T00:00:00.000000000', dtype='datetime64[ns]')
    • long_name :
      time

    MPI-ESM1-2-LR ssp126 (2015-2050)¶

    InĀ [Ā ]:
    path_model = 'Dataset/MPI-ESM1-2-LR/ts_Amon_MPI-ESM1-2-LR_ssp126_r1i1p1f1_gn_20150116-20501216_v20190710.nc'
    model = xr.open_dataset(path_model)
    model
    
    Out[Ā ]:
    <xarray.Dataset>
    Dimensions:    (time: 432, bnds: 2, lat: 96, lon: 192)
    Coordinates:
      * time       (time) datetime64[ns] 2015-01-16T12:00:00 ... 2050-12-16T12:00:00
      * lat        (lat) float64 -88.57 -86.72 -84.86 -83.0 ... 84.86 86.72 88.57
      * lon        (lon) float64 0.0 1.875 3.75 5.625 ... 352.5 354.4 356.2 358.1
    Dimensions without coordinates: bnds
    Data variables:
        time_bnds  (time, bnds) datetime64[ns] ...
        lat_bnds   (time, lat, bnds) float64 ...
        lon_bnds   (time, lon, bnds) float64 ...
        ts         (time, lat, lon) float32 ...
    Attributes: (12/47)
        Conventions:            CF-1.7 CMIP-6.2
        activity_id:            ScenarioMIP
        branch_method:          standard
        branch_time_in_child:   60265.0
        branch_time_in_parent:  60265.0
        contact:                cmip6-mpi-esm@dkrz.de
        ...                     ...
        title:                  MPI-ESM1-2-LR output prepared for CMIP6
        variable_id:            ts
        variant_label:          r1i1p1f1
        license:                CMIP6 model data produced by MPI-M is licensed un...
        cmor_version:           3.5.0
        tracking_id:            hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
    xarray.Dataset
      • time: 432
      • bnds: 2
      • lat: 96
      • lon: 192
      • time
        (time)
        datetime64[ns]
        2015-01-16T12:00:00 ... 2050-12-...
        bounds :
        time_bnds
        axis :
        T
        long_name :
        time
        standard_name :
        time
        array(['2015-01-16T12:00:00.000000000', '2015-02-15T00:00:00.000000000',
               '2015-03-16T12:00:00.000000000', ..., '2050-10-16T12:00:00.000000000',
               '2050-11-16T00:00:00.000000000', '2050-12-16T12:00:00.000000000'],
              dtype='datetime64[ns]')
      • lat
        (lat)
        float64
        -88.57 -86.72 ... 86.72 88.57
        bounds :
        lat_bnds
        units :
        degrees_north
        axis :
        Y
        long_name :
        Latitude
        standard_name :
        latitude
        array([-88.572169, -86.722531, -84.86197 , -82.998942, -81.134977, -79.270559,
               -77.405888, -75.541061, -73.676132, -71.811132, -69.946081, -68.080991,
               -66.215872, -64.35073 , -62.485571, -60.620396, -58.755209, -56.890013,
               -55.024808, -53.159595, -51.294377, -49.429154, -47.563926, -45.698694,
               -43.833459, -41.96822 , -40.102979, -38.237736, -36.372491, -34.507243,
               -32.641994, -30.776744, -28.911492, -27.046239, -25.180986, -23.315731,
               -21.450475, -19.585219, -17.719962, -15.854704, -13.989446, -12.124187,
               -10.258928,  -8.393669,  -6.528409,  -4.66315 ,  -2.79789 ,  -0.93263 ,
                 0.93263 ,   2.79789 ,   4.66315 ,   6.528409,   8.393669,  10.258928,
                12.124187,  13.989446,  15.854704,  17.719962,  19.585219,  21.450475,
                23.315731,  25.180986,  27.046239,  28.911492,  30.776744,  32.641994,
                34.507243,  36.372491,  38.237736,  40.102979,  41.96822 ,  43.833459,
                45.698694,  47.563926,  49.429154,  51.294377,  53.159595,  55.024808,
                56.890013,  58.755209,  60.620396,  62.485571,  64.35073 ,  66.215872,
                68.080991,  69.946081,  71.811132,  73.676132,  75.541061,  77.405888,
                79.270559,  81.134977,  82.998942,  84.86197 ,  86.722531,  88.572169])
      • lon
        (lon)
        float64
        0.0 1.875 3.75 ... 356.2 358.1
        bounds :
        lon_bnds
        units :
        degrees_east
        axis :
        X
        long_name :
        Longitude
        standard_name :
        longitude
        array([  0.   ,   1.875,   3.75 ,   5.625,   7.5  ,   9.375,  11.25 ,  13.125,
                15.   ,  16.875,  18.75 ,  20.625,  22.5  ,  24.375,  26.25 ,  28.125,
                30.   ,  31.875,  33.75 ,  35.625,  37.5  ,  39.375,  41.25 ,  43.125,
                45.   ,  46.875,  48.75 ,  50.625,  52.5  ,  54.375,  56.25 ,  58.125,
                60.   ,  61.875,  63.75 ,  65.625,  67.5  ,  69.375,  71.25 ,  73.125,
                75.   ,  76.875,  78.75 ,  80.625,  82.5  ,  84.375,  86.25 ,  88.125,
                90.   ,  91.875,  93.75 ,  95.625,  97.5  ,  99.375, 101.25 , 103.125,
               105.   , 106.875, 108.75 , 110.625, 112.5  , 114.375, 116.25 , 118.125,
               120.   , 121.875, 123.75 , 125.625, 127.5  , 129.375, 131.25 , 133.125,
               135.   , 136.875, 138.75 , 140.625, 142.5  , 144.375, 146.25 , 148.125,
               150.   , 151.875, 153.75 , 155.625, 157.5  , 159.375, 161.25 , 163.125,
               165.   , 166.875, 168.75 , 170.625, 172.5  , 174.375, 176.25 , 178.125,
               180.   , 181.875, 183.75 , 185.625, 187.5  , 189.375, 191.25 , 193.125,
               195.   , 196.875, 198.75 , 200.625, 202.5  , 204.375, 206.25 , 208.125,
               210.   , 211.875, 213.75 , 215.625, 217.5  , 219.375, 221.25 , 223.125,
               225.   , 226.875, 228.75 , 230.625, 232.5  , 234.375, 236.25 , 238.125,
               240.   , 241.875, 243.75 , 245.625, 247.5  , 249.375, 251.25 , 253.125,
               255.   , 256.875, 258.75 , 260.625, 262.5  , 264.375, 266.25 , 268.125,
               270.   , 271.875, 273.75 , 275.625, 277.5  , 279.375, 281.25 , 283.125,
               285.   , 286.875, 288.75 , 290.625, 292.5  , 294.375, 296.25 , 298.125,
               300.   , 301.875, 303.75 , 305.625, 307.5  , 309.375, 311.25 , 313.125,
               315.   , 316.875, 318.75 , 320.625, 322.5  , 324.375, 326.25 , 328.125,
               330.   , 331.875, 333.75 , 335.625, 337.5  , 339.375, 341.25 , 343.125,
               345.   , 346.875, 348.75 , 350.625, 352.5  , 354.375, 356.25 , 358.125])
      • time_bnds
        (time, bnds)
        datetime64[ns]
        ...
        [864 values with dtype=datetime64[ns]]
      • lat_bnds
        (time, lat, bnds)
        float64
        ...
        [82944 values with dtype=float64]
      • lon_bnds
        (time, lon, bnds)
        float64
        ...
        [165888 values with dtype=float64]
      • ts
        (time, lat, lon)
        float32
        ...
        standard_name :
        surface_temperature
        long_name :
        Surface Temperature
        comment :
        Temperature of the lower boundary of the atmosphere
        units :
        K
        cell_methods :
        area: time: mean
        cell_measures :
        area: areacella
        history :
        2019-10-29T16:19:11Z altered by CMOR: replaced missing value flag (-9e+33) and corresponding data with standard missing value (1e+20). 2019-10-29T16:19:11Z altered by CMOR: Inverted axis: lat.
        [7962624 values with dtype=float32]
      • time
        PandasIndex
        PandasIndex(DatetimeIndex(['2015-01-16 12:00:00', '2015-02-15 00:00:00',
                       '2015-03-16 12:00:00', '2015-04-16 00:00:00',
                       '2015-05-16 12:00:00', '2015-06-16 00:00:00',
                       '2015-07-16 12:00:00', '2015-08-16 12:00:00',
                       '2015-09-16 00:00:00', '2015-10-16 12:00:00',
                       ...
                       '2050-03-16 12:00:00', '2050-04-16 00:00:00',
                       '2050-05-16 12:00:00', '2050-06-16 00:00:00',
                       '2050-07-16 12:00:00', '2050-08-16 12:00:00',
                       '2050-09-16 00:00:00', '2050-10-16 12:00:00',
                       '2050-11-16 00:00:00', '2050-12-16 12:00:00'],
                      dtype='datetime64[ns]', name='time', length=432, freq=None))
      • lat
        PandasIndex
        PandasIndex(Index([ -88.57216851400727,  -86.72253095466814,  -84.86197029204237,
                -82.99894164283755,  -81.13497683767741,  -79.27055903485967,
                 -77.4058880820788,  -75.54106145287895,  -73.67613231320912,
                -71.81113211427447,  -69.94608064698343,  -68.08099098565125,
                 -66.2158721139987,  -64.35073040887207,  -62.48557052203639,
                -60.62039592682648,  -58.75520926937993,  -56.89001260135711,
                -55.02480753831166,  -53.15959537001968,  -51.29437713895115,
                -49.42915369712305,  -47.56392574797867, -45.698693877701785,
                -43.83345857895126,  -41.96822026907538,   -40.1029793042494,
                -38.23773599056483,  -36.37249059281224,  -34.50724334150103,
                -32.64199443851768,  -30.77674406172325,  -28.91149236871774,
                -27.04623949994481, -25.180985581270594,  -23.31573072614093,
               -21.450475037398185,  -19.58521860882233, -17.719961526447428,
               -15.854703869694873, -13.989445712356673, -12.124187123455766,
               -10.258928168006376,  -8.393668907692383, -6.5284094014799905,
                -4.663149706177884,  -2.797889876956741,  -0.932629967837991,
                 0.932629967837991,   2.797889876956741,   4.663149706177884,
                6.5284094014799905,   8.393668907692383,  10.258928168006376,
                12.124187123455766,  13.989445712356673,  15.854703869694873,
                17.719961526447428,   19.58521860882233,  21.450475037398185,
                 23.31573072614093,  25.180985581270594,   27.04623949994481,
                 28.91149236871774,   30.77674406172325,   32.64199443851768,
                 34.50724334150103,   36.37249059281224,   38.23773599056483,
                  40.1029793042494,   41.96822026907538,   43.83345857895126,
                45.698693877701785,   47.56392574797867,   49.42915369712305,
                 51.29437713895115,   53.15959537001968,   55.02480753831166,
                 56.89001260135711,   58.75520926937993,   60.62039592682648,
                 62.48557052203639,   64.35073040887207,    66.2158721139987,
                 68.08099098565125,   69.94608064698343,   71.81113211427447,
                 73.67613231320912,   75.54106145287895,    77.4058880820788,
                 79.27055903485967,   81.13497683767741,   82.99894164283755,
                 84.86197029204237,   86.72253095466814,   88.57216851400727],
              dtype='float64', name='lat'))
      • lon
        PandasIndex
        PandasIndex(Index([    0.0,   1.875,    3.75,   5.625,     7.5,   9.375,   11.25,  13.125,
                  15.0,  16.875,
               ...
                341.25, 343.125,   345.0, 346.875,  348.75, 350.625,   352.5, 354.375,
                356.25, 358.125],
              dtype='float64', name='lon', length=192))
    • Conventions :
      CF-1.7 CMIP-6.2
      activity_id :
      ScenarioMIP
      branch_method :
      standard
      branch_time_in_child :
      60265.0
      branch_time_in_parent :
      60265.0
      contact :
      cmip6-mpi-esm@dkrz.de
      creation_date :
      2019-10-29T16:19:11Z
      data_specs_version :
      01.00.30
      experiment :
      update of RCP2.6 based on SSP1
      experiment_id :
      ssp126
      external_variables :
      areacella
      forcing_index :
      1
      frequency :
      mon
      further_info_url :
      https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.ssp126.none.r1i1p1f1
      grid :
      gn
      grid_label :
      gn
      history :
      2019-10-29T16:19:11Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards.
      initialization_index :
      1
      institution :
      Max Planck Institute for Meteorology, Hamburg 20146, Germany
      institution_id :
      MPI-M
      mip_era :
      CMIP6
      nominal_resolution :
      250 km
      parent_activity_id :
      CMIP
      parent_experiment_id :
      historical
      parent_mip_era :
      CMIP6
      parent_source_id :
      MPI-ESM1-2-LR
      parent_time_units :
      days since 1850-1-1 00:00:00
      parent_variant_label :
      r1i1p1f1
      physics_index :
      1
      product :
      model-output
      project_id :
      CMIP6
      realization_index :
      1
      realm :
      atmos
      references :
      MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217
      source :
      MPI-ESM1.2-LR (2017): aerosol: none, prescribed MACv2-SP atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) atmosChem: none land: JSBACH3.20 landIce: none/prescribed ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) ocnBgchem: HAMOCC6 seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)
      source_id :
      MPI-ESM1-2-LR
      source_type :
      AOGCM
      sub_experiment :
      none
      sub_experiment_id :
      none
      table_id :
      Amon
      table_info :
      Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc
      title :
      MPI-ESM1-2-LR output prepared for CMIP6
      variable_id :
      ts
      variant_label :
      r1i1p1f1
      license :
      CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.
      cmor_version :
      3.5.0
      tracking_id :
      hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
    InĀ [Ā ]:
    model.time[0].values, model.time[-1].values
    
    Out[Ā ]:
    (numpy.datetime64('2015-01-16T12:00:00.000000000'),
     numpy.datetime64('2050-12-16T12:00:00.000000000'))

    Longitude Conversion¶

    Dall'output noto che le coordinate di latitudine e longitudine si riferiscono al baricentro delle celle, ma l'intervallo di longitudine ĆØ [0, 359]. Ho convertito le coordinate di longitudine nell'intervallo [-180, 179]. Ho applicato la stessa operazione effettuata per la temperatura ERA5.

    InĀ [Ā ]:
    # Change longitude definition from [0, 360] to [-180, 180] for the model
    model['lon_bnds'] = (model.lon_bnds + 180) % 360 - 180  # boundaries
    model = model.assign_coords(lon=(model.lon + 180) % 360 - 180).sortby('lon')  # coordinates
    model = model.sortby('lat', ascending=False)  # sort by lat
    
    InĀ [Ā ]:
    model
    
    Out[Ā ]:
    <xarray.Dataset>
    Dimensions:    (time: 432, bnds: 2, lat: 96, lon: 192)
    Coordinates:
      * time       (time) datetime64[ns] 2015-01-16T12:00:00 ... 2050-12-16T12:00:00
      * lat        (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
      * lon        (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
    Dimensions without coordinates: bnds
    Data variables:
        time_bnds  (time, bnds) datetime64[ns] ...
        lat_bnds   (time, lat, bnds) float64 ...
        lon_bnds   (time, lon, bnds) float64 179.1 -179.1 -179.1 ... 177.2 179.1
        ts         (time, lat, lon) float32 ...
    Attributes: (12/47)
        Conventions:            CF-1.7 CMIP-6.2
        activity_id:            ScenarioMIP
        branch_method:          standard
        branch_time_in_child:   60265.0
        branch_time_in_parent:  60265.0
        contact:                cmip6-mpi-esm@dkrz.de
        ...                     ...
        title:                  MPI-ESM1-2-LR output prepared for CMIP6
        variable_id:            ts
        variant_label:          r1i1p1f1
        license:                CMIP6 model data produced by MPI-M is licensed un...
        cmor_version:           3.5.0
        tracking_id:            hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
    xarray.Dataset
      • time: 432
      • bnds: 2
      • lat: 96
      • lon: 192
      • time
        (time)
        datetime64[ns]
        2015-01-16T12:00:00 ... 2050-12-...
        bounds :
        time_bnds
        axis :
        T
        long_name :
        time
        standard_name :
        time
        array(['2015-01-16T12:00:00.000000000', '2015-02-15T00:00:00.000000000',
               '2015-03-16T12:00:00.000000000', ..., '2050-10-16T12:00:00.000000000',
               '2050-11-16T00:00:00.000000000', '2050-12-16T12:00:00.000000000'],
              dtype='datetime64[ns]')
      • lat
        (lat)
        float64
        88.57 86.72 84.86 ... -86.72 -88.57
        bounds :
        lat_bnds
        units :
        degrees_north
        axis :
        Y
        long_name :
        Latitude
        standard_name :
        latitude
        array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
               -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
               -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
               -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
               -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
               -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
               -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
               -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
      • lon
        (lon)
        float64
        -180.0 -178.1 ... 176.2 178.1
        array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
               -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
               -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
               -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
               -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
               -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
               -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                 -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                  3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                 16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                 30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                 43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                 56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                 69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                 82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                 95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                174.375,  176.25 ,  178.125])
      • time_bnds
        (time, bnds)
        datetime64[ns]
        ...
        [864 values with dtype=datetime64[ns]]
      • lat_bnds
        (time, lat, bnds)
        float64
        ...
        [82944 values with dtype=float64]
      • lon_bnds
        (time, lon, bnds)
        float64
        179.1 -179.1 -179.1 ... 177.2 179.1
        array([[[ 179.0625, -179.0625],
                [-179.0625, -177.1875],
                [-177.1875, -175.3125],
                ...,
                [ 173.4375,  175.3125],
                [ 175.3125,  177.1875],
                [ 177.1875,  179.0625]],
        
               [[ 179.0625, -179.0625],
                [-179.0625, -177.1875],
                [-177.1875, -175.3125],
                ...,
                [ 173.4375,  175.3125],
                [ 175.3125,  177.1875],
                [ 177.1875,  179.0625]],
        
               [[ 179.0625, -179.0625],
                [-179.0625, -177.1875],
                [-177.1875, -175.3125],
                ...,
        ...
                ...,
                [ 173.4375,  175.3125],
                [ 175.3125,  177.1875],
                [ 177.1875,  179.0625]],
        
               [[ 179.0625, -179.0625],
                [-179.0625, -177.1875],
                [-177.1875, -175.3125],
                ...,
                [ 173.4375,  175.3125],
                [ 175.3125,  177.1875],
                [ 177.1875,  179.0625]],
        
               [[ 179.0625, -179.0625],
                [-179.0625, -177.1875],
                [-177.1875, -175.3125],
                ...,
                [ 173.4375,  175.3125],
                [ 175.3125,  177.1875],
                [ 177.1875,  179.0625]]])
      • ts
        (time, lat, lon)
        float32
        ...
        standard_name :
        surface_temperature
        long_name :
        Surface Temperature
        comment :
        Temperature of the lower boundary of the atmosphere
        units :
        K
        cell_methods :
        area: time: mean
        cell_measures :
        area: areacella
        history :
        2019-10-29T16:19:11Z altered by CMOR: replaced missing value flag (-9e+33) and corresponding data with standard missing value (1e+20). 2019-10-29T16:19:11Z altered by CMOR: Inverted axis: lat.
        [7962624 values with dtype=float32]
      • time
        PandasIndex
        PandasIndex(DatetimeIndex(['2015-01-16 12:00:00', '2015-02-15 00:00:00',
                       '2015-03-16 12:00:00', '2015-04-16 00:00:00',
                       '2015-05-16 12:00:00', '2015-06-16 00:00:00',
                       '2015-07-16 12:00:00', '2015-08-16 12:00:00',
                       '2015-09-16 00:00:00', '2015-10-16 12:00:00',
                       ...
                       '2050-03-16 12:00:00', '2050-04-16 00:00:00',
                       '2050-05-16 12:00:00', '2050-06-16 00:00:00',
                       '2050-07-16 12:00:00', '2050-08-16 12:00:00',
                       '2050-09-16 00:00:00', '2050-10-16 12:00:00',
                       '2050-11-16 00:00:00', '2050-12-16 12:00:00'],
                      dtype='datetime64[ns]', name='time', length=432, freq=None))
      • lat
        PandasIndex
        PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                 82.99894164283755,   81.13497683767741,   79.27055903485967,
                  77.4058880820788,   75.54106145287895,   73.67613231320912,
                 71.81113211427447,   69.94608064698343,   68.08099098565125,
                  66.2158721139987,   64.35073040887207,   62.48557052203639,
                 60.62039592682648,   58.75520926937993,   56.89001260135711,
                 55.02480753831166,   53.15959537001968,   51.29437713895115,
                 49.42915369712305,   47.56392574797867,  45.698693877701785,
                 43.83345857895126,   41.96822026907538,    40.1029793042494,
                 38.23773599056483,   36.37249059281224,   34.50724334150103,
                 32.64199443851768,   30.77674406172325,   28.91149236871774,
                 27.04623949994481,  25.180985581270594,   23.31573072614093,
                21.450475037398185,   19.58521860882233,  17.719961526447428,
                15.854703869694873,  13.989445712356673,  12.124187123455766,
                10.258928168006376,   8.393668907692383,  6.5284094014799905,
                 4.663149706177884,   2.797889876956741,   0.932629967837991,
                -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
               -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
               -12.124187123455766, -13.989445712356673, -15.854703869694873,
               -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                 -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
               -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
              dtype='float64', name='lat'))
      • lon
        PandasIndex
        PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
               -166.875,   -165.0, -163.125,
               ...
                 161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                174.375,   176.25,  178.125],
              dtype='float64', name='lon', length=192))
    • Conventions :
      CF-1.7 CMIP-6.2
      activity_id :
      ScenarioMIP
      branch_method :
      standard
      branch_time_in_child :
      60265.0
      branch_time_in_parent :
      60265.0
      contact :
      cmip6-mpi-esm@dkrz.de
      creation_date :
      2019-10-29T16:19:11Z
      data_specs_version :
      01.00.30
      experiment :
      update of RCP2.6 based on SSP1
      experiment_id :
      ssp126
      external_variables :
      areacella
      forcing_index :
      1
      frequency :
      mon
      further_info_url :
      https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.ssp126.none.r1i1p1f1
      grid :
      gn
      grid_label :
      gn
      history :
      2019-10-29T16:19:11Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards.
      initialization_index :
      1
      institution :
      Max Planck Institute for Meteorology, Hamburg 20146, Germany
      institution_id :
      MPI-M
      mip_era :
      CMIP6
      nominal_resolution :
      250 km
      parent_activity_id :
      CMIP
      parent_experiment_id :
      historical
      parent_mip_era :
      CMIP6
      parent_source_id :
      MPI-ESM1-2-LR
      parent_time_units :
      days since 1850-1-1 00:00:00
      parent_variant_label :
      r1i1p1f1
      physics_index :
      1
      product :
      model-output
      project_id :
      CMIP6
      realization_index :
      1
      realm :
      atmos
      references :
      MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217
      source :
      MPI-ESM1.2-LR (2017): aerosol: none, prescribed MACv2-SP atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) atmosChem: none land: JSBACH3.20 landIce: none/prescribed ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) ocnBgchem: HAMOCC6 seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)
      source_id :
      MPI-ESM1-2-LR
      source_type :
      AOGCM
      sub_experiment :
      none
      sub_experiment_id :
      none
      table_id :
      Amon
      table_info :
      Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc
      title :
      MPI-ESM1-2-LR output prepared for CMIP6
      variable_id :
      ts
      variant_label :
      r1i1p1f1
      license :
      CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.
      cmor_version :
      3.5.0
      tracking_id :
      hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c

    Alcune Analisi con Xarray¶

    InĀ [Ā ]:
    print("Dimensions and Sizes:")
    print(model.dims)
    
    print('---------------------------')
    
    print("Coordinates:")
    print(model.coords)
    
    print('---------------------------')
    
    print("Attributes:")
    print(model.attrs)
    
    print('---------------------------')
    
    print(model.data_vars)
    
    Dimensions and Sizes:
    Frozen({'time': 432, 'bnds': 2, 'lat': 96, 'lon': 192})
    ---------------------------
    Coordinates:
    Coordinates:
      * time     (time) datetime64[ns] 2015-01-16T12:00:00 ... 2050-12-16T12:00:00
      * lat      (lat) float64 88.57 86.72 84.86 83.0 ... -83.0 -84.86 -86.72 -88.57
      * lon      (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
    ---------------------------
    Attributes:
    {'Conventions': 'CF-1.7 CMIP-6.2', 'activity_id': 'ScenarioMIP', 'branch_method': 'standard', 'branch_time_in_child': 60265.0, 'branch_time_in_parent': 60265.0, 'contact': 'cmip6-mpi-esm@dkrz.de', 'creation_date': '2019-10-29T16:19:11Z', 'data_specs_version': '01.00.30', 'experiment': 'update of RCP2.6 based on SSP1', 'experiment_id': 'ssp126', 'external_variables': 'areacella', 'forcing_index': 1, 'frequency': 'mon', 'further_info_url': 'https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.ssp126.none.r1i1p1f1', 'grid': 'gn', 'grid_label': 'gn', 'history': '2019-10-29T16:19:11Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards.', 'initialization_index': 1, 'institution': 'Max Planck Institute for Meteorology, Hamburg 20146, Germany', 'institution_id': 'MPI-M', 'mip_era': 'CMIP6', 'nominal_resolution': '250 km', 'parent_activity_id': 'CMIP', 'parent_experiment_id': 'historical', 'parent_mip_era': 'CMIP6', 'parent_source_id': 'MPI-ESM1-2-LR', 'parent_time_units': 'days since 1850-1-1 00:00:00', 'parent_variant_label': 'r1i1p1f1', 'physics_index': 1, 'product': 'model-output', 'project_id': 'CMIP6', 'realization_index': 1, 'realm': 'atmos', 'references': 'MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400,\nMueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217', 'source': 'MPI-ESM1.2-LR (2017): \naerosol: none, prescribed MACv2-SP\natmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa)\natmosChem: none\nland: JSBACH3.20\nlandIce: none/prescribed\nocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m)\nocnBgchem: HAMOCC6\nseaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)', 'source_id': 'MPI-ESM1-2-LR', 'source_type': 'AOGCM', 'sub_experiment': 'none', 'sub_experiment_id': 'none', 'table_id': 'Amon', 'table_info': 'Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc', 'title': 'MPI-ESM1-2-LR output prepared for CMIP6', 'variable_id': 'ts', 'variant_label': 'r1i1p1f1', 'license': 'CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.', 'cmor_version': '3.5.0', 'tracking_id': 'hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c'}
    ---------------------------
    Data variables:
        time_bnds  (time, bnds) datetime64[ns] ...
        lat_bnds   (time, lat, bnds) float64 ...
        lon_bnds   (time, lon, bnds) float64 179.1 -179.1 -179.1 ... 177.2 179.1
        ts         (time, lat, lon) float32 ...
    
    InĀ [Ā ]:
    model.ts[0]
    
    Out[Ā ]:
    <xarray.DataArray 'ts' (lat: 96, lon: 192)>
    [18432 values with dtype=float32]
    Coordinates:
        time     datetime64[ns] 2015-01-16T12:00:00
      * lat      (lat) float64 88.57 86.72 84.86 83.0 ... -83.0 -84.86 -86.72 -88.57
      * lon      (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
    Attributes:
        standard_name:  surface_temperature
        long_name:      Surface Temperature
        comment:        Temperature of the lower boundary of the atmosphere
        units:          K
        cell_methods:   area: time: mean
        cell_measures:  area: areacella
        history:        2019-10-29T16:19:11Z altered by CMOR: replaced missing va...
    xarray.DataArray
    'ts'
    • lat: 96
    • lon: 192
    • ...
      [18432 values with dtype=float32]
      • time
        ()
        datetime64[ns]
        2015-01-16T12:00:00
        bounds :
        time_bnds
        axis :
        T
        long_name :
        time
        standard_name :
        time
        array('2015-01-16T12:00:00.000000000', dtype='datetime64[ns]')
      • lat
        (lat)
        float64
        88.57 86.72 84.86 ... -86.72 -88.57
        bounds :
        lat_bnds
        units :
        degrees_north
        axis :
        Y
        long_name :
        Latitude
        standard_name :
        latitude
        array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
               -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
               -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
               -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
               -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
               -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
               -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
               -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
      • lon
        (lon)
        float64
        -180.0 -178.1 ... 176.2 178.1
        array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
               -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
               -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
               -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
               -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
               -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
               -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                 -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                  3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                 16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                 30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                 43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                 56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                 69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                 82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                 95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                174.375,  176.25 ,  178.125])
      • lat
        PandasIndex
        PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                 82.99894164283755,   81.13497683767741,   79.27055903485967,
                  77.4058880820788,   75.54106145287895,   73.67613231320912,
                 71.81113211427447,   69.94608064698343,   68.08099098565125,
                  66.2158721139987,   64.35073040887207,   62.48557052203639,
                 60.62039592682648,   58.75520926937993,   56.89001260135711,
                 55.02480753831166,   53.15959537001968,   51.29437713895115,
                 49.42915369712305,   47.56392574797867,  45.698693877701785,
                 43.83345857895126,   41.96822026907538,    40.1029793042494,
                 38.23773599056483,   36.37249059281224,   34.50724334150103,
                 32.64199443851768,   30.77674406172325,   28.91149236871774,
                 27.04623949994481,  25.180985581270594,   23.31573072614093,
                21.450475037398185,   19.58521860882233,  17.719961526447428,
                15.854703869694873,  13.989445712356673,  12.124187123455766,
                10.258928168006376,   8.393668907692383,  6.5284094014799905,
                 4.663149706177884,   2.797889876956741,   0.932629967837991,
                -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
               -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
               -12.124187123455766, -13.989445712356673, -15.854703869694873,
               -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                 -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
               -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
              dtype='float64', name='lat'))
      • lon
        PandasIndex
        PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
               -166.875,   -165.0, -163.125,
               ...
                 161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                174.375,   176.25,  178.125],
              dtype='float64', name='lon', length=192))
    • standard_name :
      surface_temperature
      long_name :
      Surface Temperature
      comment :
      Temperature of the lower boundary of the atmosphere
      units :
      K
      cell_methods :
      area: time: mean
      cell_measures :
      area: areacella
      history :
      2019-10-29T16:19:11Z altered by CMOR: replaced missing value flag (-9e+33) and corresponding data with standard missing value (1e+20). 2019-10-29T16:19:11Z altered by CMOR: Inverted axis: lat.
    InĀ [Ā ]:
    print(model.ts.coords)
    
    Coordinates:
      * time     (time) datetime64[ns] 2015-01-16T12:00:00 ... 2050-12-16T12:00:00
      * lat      (lat) float64 88.57 86.72 84.86 83.0 ... -83.0 -84.86 -86.72 -88.57
      * lon      (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
    
    InĀ [Ā ]:
    model.ts[0].coords['time']
    
    Out[Ā ]:
    <xarray.DataArray 'time' ()>
    array('2015-01-16T12:00:00.000000000', dtype='datetime64[ns]')
    Coordinates:
        time     datetime64[ns] 2015-01-16T12:00:00
    Attributes:
        bounds:         time_bnds
        axis:           T
        long_name:      time
        standard_name:  time
    xarray.DataArray
    'time'
    • 2015-01-16T12:00:00
      array('2015-01-16T12:00:00.000000000', dtype='datetime64[ns]')
      • time
        ()
        datetime64[ns]
        2015-01-16T12:00:00
        bounds :
        time_bnds
        axis :
        T
        long_name :
        time
        standard_name :
        time
        array('2015-01-16T12:00:00.000000000', dtype='datetime64[ns]')
      • bounds :
        time_bnds
        axis :
        T
        long_name :
        time
        standard_name :
        time

      Visualizzazioni¶

      ERA5 2m Temperature (1950-2020)¶

      InĀ [Ā ]:
      fig = plt.figure(1, figsize=[8,4])
      
      ax = plt.subplot(1, 1, 1, projection=ccrs.PlateCarree())
      ax.coastlines()
      
      temp.t2m.mean(dim='time').plot.pcolormesh(ax=ax, cmap='coolwarm')
      plt.title("ERA5 Mean Temperature 1950-2023", fontsize=10)
      
      Out[Ā ]:
      Text(0.5, 1.0, 'ERA5 Mean Temperature 1950-2023')
      No description has been provided for this image
      InĀ [Ā ]:
      lat = temp.t2m.coords['latitude'].values
      lon = temp.t2m.coords['longitude'].values
      t2m_mean = temp.t2m.mean(dim='time')
      
      InĀ [Ā ]:
      t2m_mean_df = pd.DataFrame(t2m_mean, lat, lon)
      
      InĀ [Ā ]:
      t2m_mean_df
      
      Out[Ā ]:
      -180.00 -179.75 -179.50 -179.25 -179.00 -178.75 -178.50 -178.25 -178.00 -177.75 ... 177.50 177.75 178.00 178.25 178.50 178.75 179.00 179.25 179.50 179.75
      90.00 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 ... 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973 258.284973
      89.75 258.236755 258.236511 258.236237 258.235992 258.235748 258.235474 258.235260 258.234985 258.234955 258.234924 ... 258.239044 258.238892 258.238739 258.238556 258.238251 258.238037 258.237762 258.237488 258.237274 258.237030
      89.50 258.225311 258.224823 258.224304 258.223785 258.223297 258.222778 258.222290 258.221741 258.221283 258.220734 ... 258.230316 258.229797 258.229309 258.228790 258.228302 258.227783 258.227325 258.226807 258.226318 258.225800
      89.25 258.250488 258.249664 258.248749 258.247650 258.246460 258.245361 258.244232 258.243042 258.241852 258.240753 ... 258.255768 258.255249 258.254791 258.254242 258.253784 258.253296 258.252869 258.252319 258.251831 258.251190
      89.00 258.236969 258.235565 258.234222 258.232880 258.231476 258.230133 258.228821 258.227478 258.226105 258.224792 ... 258.243896 258.243195 258.242462 258.241791 258.241089 258.240356 258.239716 258.239014 258.238342 258.237671
      ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
      -89.00 226.847107 226.851974 226.856812 226.861694 226.866623 226.871506 226.876358 226.881271 226.886169 226.891022 ... 226.757385 226.766342 226.775314 226.784286 226.793259 226.802216 226.811218 226.820190 226.829163 226.838120
      -89.25 226.848923 226.854141 226.859085 226.863663 226.868164 226.872681 226.877258 226.881775 226.886383 226.890930 ... 226.765427 226.774323 226.783173 226.792130 226.801071 226.809998 226.818878 226.827942 226.836868 226.843643
      -89.50 226.970963 226.974487 226.978012 226.981552 226.985016 226.988556 226.992065 226.995605 226.999176 227.002716 ... 226.936111 226.939575 226.943024 226.946518 226.949982 226.953476 226.956970 226.960419 226.963928 226.967453
      -89.75 227.077484 227.079254 227.080948 227.082748 227.084503 227.086273 227.088043 227.089783 227.090134 227.090134 ... 227.063034 227.063660 227.064377 227.065262 227.067001 227.068695 227.070496 227.072235 227.074020 227.075760
      -90.00 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 ... 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938 227.361938

      721 rows Ɨ 1440 columns

      InĀ [Ā ]:
      fig = plt.figure(figsize=(9,6))  # x,y(inches)
      
      ax = plt.axes(projection=ccrs.Robinson())
      ax.set_global()
      ax.set_title('Mean 2m Temperature (K)')
      
      mm = ax.pcolormesh(t2m_mean_df.columns, # longitude
                         t2m_mean_df.index, # latitude
                         t2m_mean_df, # data
                         shading='auto', \
                         transform=ccrs.PlateCarree(),
                         cmap=mpl.cm.cubehelix )
      
      # more color palettes here:
      #   https://matplotlib.org/3.1.3/tutorials/colors/colormaps.html
      
      ax.coastlines()
      
      #- add colorbar
      cbar_ax = fig.add_axes([0.28, 0.10, 0.46, 0.05]) #[left, bottom, width, height]
      cbar = fig.colorbar(mm, cax=cbar_ax, extend='both', orientation='horizontal')
      cbar.set_label('Temperature (K)') #($\mu g$ $m^{-3}$)
      cbar.ax.tick_params(labelsize=8)
      
      plt.show()
      plt.close()
      
      No description has been provided for this image
      InĀ [Ā ]:
      temp.time[-1]
      
      Out[Ā ]:
      <xarray.DataArray 'time' ()>
      array('2022-12-01T00:00:00.000000000', dtype='datetime64[ns]')
      Coordinates:
          time     datetime64[ns] 2022-12-01
      Attributes:
          long_name:  time
      xarray.DataArray
      'time'
      • 2022-12-01
        array('2022-12-01T00:00:00.000000000', dtype='datetime64[ns]')
        • time
          ()
          datetime64[ns]
          2022-12-01
          long_name :
          time
          array('2022-12-01T00:00:00.000000000', dtype='datetime64[ns]')
        • long_name :
          time
        InĀ [Ā ]:
        temp.sel(time='2022-12-01T00:00:00.000000000')
        
        Out[Ā ]:
        <xarray.Dataset>
        Dimensions:         (longitude: 1440, latitude: 721)
        Coordinates:
          * longitude       (longitude) float32 -180.0 -179.8 -179.5 ... 179.5 179.8
          * latitude        (latitude) float32 90.0 89.75 89.5 ... -89.5 -89.75 -90.0
            time            datetime64[ns] 2022-12-01
        Data variables:
            t2m             (latitude, longitude) float32 249.8 249.8 ... 244.5 244.5
            longitude_bnds  (longitude) float32 -180.0 -179.8 -179.5 ... 179.5 179.8
        Attributes:
            Conventions:  CF-1.6
            history:      2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
        xarray.Dataset
          • longitude: 1440
          • latitude: 721
          • longitude
            (longitude)
            float32
            -180.0 -179.8 ... 179.5 179.8
            array([-180.  , -179.75, -179.5 , ...,  179.25,  179.5 ,  179.75],
                  dtype=float32)
          • latitude
            (latitude)
            float32
            90.0 89.75 89.5 ... -89.75 -90.0
            units :
            degrees_north
            long_name :
            latitude
            array([ 90.  ,  89.75,  89.5 , ..., -89.5 , -89.75, -90.  ], dtype=float32)
          • time
            ()
            datetime64[ns]
            2022-12-01
            long_name :
            time
            array('2022-12-01T00:00:00.000000000', dtype='datetime64[ns]')
          • t2m
            (latitude, longitude)
            float32
            249.8 249.8 249.8 ... 244.5 244.5
            units :
            K
            long_name :
            2 metre temperature
            array([[249.7975 , 249.7975 , 249.7975 , ..., 249.7975 , 249.7975 ,
                    249.7975 ],
                   [249.69699, 249.69699, 249.69876, ..., 249.69699, 249.69699,
                    249.69699],
                   [249.44485, 249.44485, 249.44485, ..., 249.44485, 249.44485,
                    249.44485],
                   ...,
                   [244.25752, 244.2593 , 244.26282, ..., 244.24695, 244.24872,
                    244.25224],
                   [244.50613, 244.50966, 244.51143, ..., 244.50261, 244.50438,
                    244.50438],
                   [244.45148, 244.45148, 244.45148, ..., 244.45148, 244.45148,
                    244.45148]], dtype=float32)
          • longitude_bnds
            (longitude)
            float32
            -180.0 -179.8 ... 179.5 179.8
            array([-180.  , -179.75, -179.5 , ...,  179.25,  179.5 ,  179.75],
                  dtype=float32)
          • longitude
            PandasIndex
            PandasIndex(Index([ -180.0, -179.75,  -179.5, -179.25,  -179.0, -178.75,  -178.5, -178.25,
                    -178.0, -177.75,
                   ...
                     177.5,  177.75,   178.0,  178.25,   178.5,  178.75,   179.0,  179.25,
                     179.5,  179.75],
                  dtype='float32', name='longitude', length=1440))
          • latitude
            PandasIndex
            PandasIndex(Index([  90.0,  89.75,   89.5,  89.25,   89.0,  88.75,   88.5,  88.25,   88.0,
                    87.75,
                   ...
                   -87.75,  -88.0, -88.25,  -88.5, -88.75,  -89.0, -89.25,  -89.5, -89.75,
                    -90.0],
                  dtype='float32', name='latitude', length=721))
        • Conventions :
          CF-1.6
          history :
          2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib
        InĀ [Ā ]:
        # Combine plot with different projections
        fig = plt.figure(1, figsize=[18,9])
        
        # Fix extent
        minval = 240
        maxval = 310
        
        # Plot 1 for Northern Hemisphere subplot argument (nrows, ncols, nplot)
        # here 1 row, 2 columns and 1st plot
        ax1 = plt.subplot(1, 2, 1, projection=ccrs.Orthographic(0, 90))
        
        # Plot 2 for Southern Hemisphere
        # 2nd plot 
        ax2 = plt.subplot(1, 2, 2, projection=ccrs.Orthographic(180, -90))
        
        tsel = 0
        for ax,t in zip([ax1, ax2], ["Northern", "Southern"]):
            map = temp.t2m.sel(time='2022-12-01T00:00:00.000000000').plot(ax=ax, vmin=minval, vmax=maxval, 
                                                                     transform=ccrs.PlateCarree(), 
                                                                     cmap='coolwarm', 
                                                                     add_colorbar=False)
            ax.set_title(t + " Hemisphere \n" , fontsize=15)
            ax.coastlines()
            ax.gridlines()
        
        # Title for both plots
        fig.suptitle('ERA5 Air Temperature at 2 meters December 2022', fontsize=20)
        
        
        cb_ax = fig.add_axes([0.325, 0.05, 0.4, 0.04])
        
        cbar = plt.colorbar(map, cax=cb_ax, extend='both', orientation='horizontal', fraction=0.046, pad=0.04)
        cbar.ax.tick_params(labelsize=25)
        cbar.ax.set_ylabel('K', fontsize=25)
        
        Out[Ā ]:
        Text(0, 0.5, 'K')
        No description has been provided for this image
        InĀ [Ā ]:
        # Combine plot with different projections
        fig = plt.figure(1, figsize=[18,9])
        
        # Fix extent
        minval = 220
        maxval = 340
        
        # Plot 1 for Northern Hemisphere subplot argument (nrows, ncols, nplot)
        # here 1 row, 2 columns and 1st plot
        ax1 = plt.subplot(1, 2, 1, projection=ccrs.Orthographic(0, 90))
        
        # Plot 2 for Southern Hemisphere
        # 2nd plot 
        ax2 = plt.subplot(1, 2, 2, projection=ccrs.Orthographic(180, -90))
        
        tsel = 0
        for ax,t in zip([ax1, ax2], ["Northern", "Southern"]):
            map = t2m_mean.plot(ax=ax, vmin=minval, vmax=maxval, 
                                                                     transform=ccrs.PlateCarree(), 
                                                                     cmap='coolwarm', 
                                                                     add_colorbar=False)
            ax.set_title(t + " Hemisphere \n" , fontsize=15)
            ax.coastlines()
            ax.gridlines()
        
        # Title for both plots
        fig.suptitle('ERA5 Mean Air Temperature at 2 meters (K)', fontsize=20)
        
        
        cb_ax = fig.add_axes([0.325, 0.05, 0.4, 0.04])
        
        cbar = plt.colorbar(map, cax=cb_ax, extend='both', orientation='horizontal', fraction=0.046, pad=0.04)
        cbar.ax.tick_params(labelsize=25)
        cbar.ax.set_ylabel('K', fontsize=25)
        
        InĀ [Ā ]:
        # Plot the mean values of the scenario over longitude and latitude (separating the emispheres)
        temp.where(temp.latitude > 0).sel({'time': slice('2000', '2006')}).mean(['latitude', 'longitude']).t2m.plot(label='Northern Hemisphere')
        temp.where(temp.latitude < 0).sel({'time': slice('2000', '2006')}).mean(['latitude', 'longitude']).t2m.plot(label='Southern Hemisphere')
        plt.xlabel('Year')
        plt.ylabel('Temperature (K)')
        plt.legend()
        plt.title('2m Temperature (K) from 1950 to 2022 per Emisphere')
        
        Out[Ā ]:
        Text(0.5, 1.0, '2m Temperature (K) from 1950 to 2022 per Emisphere')
        No description has been provided for this image

        La serie storica della temperatura a 2 metri offre uno sguardo approfondito alle dinamiche climatiche dal 1950 al 2022, rivelando variazioni costanti accentuate da una notevole variabilitĆ  nell'emisfero settentrionale.

        Entrambi gli emisferi presentano chiaramente una marcata variabilità stagionale e annuale, con fasi di aumento termico seguite da periodi di raffreddamento. Tuttavia, emerge chiaramente che l'emisfero settentrionale manifesta una variabilità più accentuata rispetto al suo omologo meridionale. Questa maggiore variabilità nell'emisfero settentrionale potrebbe essere associata a fenomeni atmosferici specifici e a influenze antropogeniche, sottolineando l'importanza di comprendere le sfumature regionali all'interno delle tendenze climatiche globali.

        InĀ [Ā ]:
        temp.sel({'time': slice('2000', '2006')}).t2m.mean(dim='longitude').plot(cmap='jet')
        
        Out[Ā ]:
        <matplotlib.collections.QuadMesh at 0x16c97a340>
        No description has been provided for this image
        InĀ [Ā ]:
        # Compute the average yearly temperature 
        # first mean of all year, mean between all years, and mean on lat lon
        annual_mean_temperature = temp.t2m.resample(time='Y', label='right').mean(dim='time').mean(dim='time').mean().values
        print('The Annual Mean Temperature between 1950 and 2022 is:', annual_mean_temperature)
        
        The Annual Mean Temperature between 1950 and 2022 is: 278.19336
        
        InĀ [Ā ]:
        plt.figure(1, figsize=[8,5])
        temp.t2m.sel({'time': slice('2000', '2006')}).isel(longitude=10, latitude=[50, 70, 100]).plot.line(x="time")
        
        Out[Ā ]:
        [<matplotlib.lines.Line2D at 0x16c8c5d90>,
         <matplotlib.lines.Line2D at 0x29777c100>,
         <matplotlib.lines.Line2D at 0x2977ae250>]
        No description has been provided for this image
        InĀ [Ā ]:
        seasonal_mean = temp.t2m.groupby("time.season").mean()
        seasonal_mean
        
        Out[Ā ]:
        <xarray.DataArray 't2m' (season: 4, latitude: 721, longitude: 1440)>
        array([[[246.63531, 246.63531, 246.63531, ..., 246.63531, 246.63531,
                 246.63531],
                [246.54356, 246.54324, 246.5429 , ..., 246.54463, 246.5443 ,
                 246.54396],
                [246.49258, 246.49194, 246.4911 , ..., 246.49492, 246.49413,
                 246.49336],
                ...,
                [241.01112, 241.01501, 241.01889, ..., 240.99956, 241.00345,
                 241.00728],
                [241.32678, 241.32893, 241.33073, ..., 241.32109, 241.32304,
                 241.32489],
                [241.55281, 241.55281, 241.55281, ..., 241.55281, 241.55281,
                 241.55281]],
        
               [[273.38235, 273.38235, 273.38235, ..., 273.38235, 273.38235,
                 273.38235],
                [273.37372, 273.3737 , 273.37366, ..., 273.37347, 273.37357,
                 273.3736 ],
                [273.36996, 273.37006, 273.37018, ..., 273.36972, 273.3699 ,
                 273.3699 ],
        ...
                [221.97836, 221.9818 , 221.9852 , ..., 221.96805, 221.97148,
                 221.97499],
                [221.92917, 221.93082, 221.9325 , ..., 221.92412, 221.9259 ,
                 221.9275 ],
                [222.18954, 222.18954, 222.18954, ..., 222.18954, 222.18954,
                 222.18954]],
        
               [[258.26337, 258.26337, 258.26337, ..., 258.26337, 258.26337,
                 258.26337],
                [258.22498, 258.22458, 258.22415, ..., 258.22632, 258.22595,
                 258.2255 ],
                [258.23306, 258.23206, 258.2312 , ..., 258.23547, 258.23465,
                 258.2339 ],
                ...,
                [226.52615, 226.52963, 226.53313, ..., 226.51569, 226.5191 ,
                 226.52267],
                [226.66017, 226.66197, 226.66364, ..., 226.65492, 226.65665,
                 226.65843],
                [226.95596, 226.95596, 226.95596, ..., 226.95596, 226.95596,
                 226.95596]]], dtype=float32)
        Coordinates:
          * longitude  (longitude) float32 -180.0 -179.8 -179.5 ... 179.2 179.5 179.8
          * latitude   (latitude) float32 90.0 89.75 89.5 89.25 ... -89.5 -89.75 -90.0
          * season     (season) object 'DJF' 'JJA' 'MAM' 'SON'
        Attributes:
            units:      K
            long_name:  2 metre temperature
        xarray.DataArray
        't2m'
        • season: 4
        • latitude: 721
        • longitude: 1440
        • 246.6 246.6 246.6 246.6 246.6 246.6 ... 227.0 227.0 227.0 227.0 227.0
          array([[[246.63531, 246.63531, 246.63531, ..., 246.63531, 246.63531,
                   246.63531],
                  [246.54356, 246.54324, 246.5429 , ..., 246.54463, 246.5443 ,
                   246.54396],
                  [246.49258, 246.49194, 246.4911 , ..., 246.49492, 246.49413,
                   246.49336],
                  ...,
                  [241.01112, 241.01501, 241.01889, ..., 240.99956, 241.00345,
                   241.00728],
                  [241.32678, 241.32893, 241.33073, ..., 241.32109, 241.32304,
                   241.32489],
                  [241.55281, 241.55281, 241.55281, ..., 241.55281, 241.55281,
                   241.55281]],
          
                 [[273.38235, 273.38235, 273.38235, ..., 273.38235, 273.38235,
                   273.38235],
                  [273.37372, 273.3737 , 273.37366, ..., 273.37347, 273.37357,
                   273.3736 ],
                  [273.36996, 273.37006, 273.37018, ..., 273.36972, 273.3699 ,
                   273.3699 ],
          ...
                  [221.97836, 221.9818 , 221.9852 , ..., 221.96805, 221.97148,
                   221.97499],
                  [221.92917, 221.93082, 221.9325 , ..., 221.92412, 221.9259 ,
                   221.9275 ],
                  [222.18954, 222.18954, 222.18954, ..., 222.18954, 222.18954,
                   222.18954]],
          
                 [[258.26337, 258.26337, 258.26337, ..., 258.26337, 258.26337,
                   258.26337],
                  [258.22498, 258.22458, 258.22415, ..., 258.22632, 258.22595,
                   258.2255 ],
                  [258.23306, 258.23206, 258.2312 , ..., 258.23547, 258.23465,
                   258.2339 ],
                  ...,
                  [226.52615, 226.52963, 226.53313, ..., 226.51569, 226.5191 ,
                   226.52267],
                  [226.66017, 226.66197, 226.66364, ..., 226.65492, 226.65665,
                   226.65843],
                  [226.95596, 226.95596, 226.95596, ..., 226.95596, 226.95596,
                   226.95596]]], dtype=float32)
          • longitude
            (longitude)
            float32
            -180.0 -179.8 ... 179.5 179.8
            array([-180.  , -179.75, -179.5 , ...,  179.25,  179.5 ,  179.75],
                  dtype=float32)
          • latitude
            (latitude)
            float32
            90.0 89.75 89.5 ... -89.75 -90.0
            units :
            degrees_north
            long_name :
            latitude
            array([ 90.  ,  89.75,  89.5 , ..., -89.5 , -89.75, -90.  ], dtype=float32)
          • season
            (season)
            object
            'DJF' 'JJA' 'MAM' 'SON'
            array(['DJF', 'JJA', 'MAM', 'SON'], dtype=object)
          • longitude
            PandasIndex
            PandasIndex(Index([ -180.0, -179.75,  -179.5, -179.25,  -179.0, -178.75,  -178.5, -178.25,
                    -178.0, -177.75,
                   ...
                     177.5,  177.75,   178.0,  178.25,   178.5,  178.75,   179.0,  179.25,
                     179.5,  179.75],
                  dtype='float32', name='longitude', length=1440))
          • latitude
            PandasIndex
            PandasIndex(Index([  90.0,  89.75,   89.5,  89.25,   89.0,  88.75,   88.5,  88.25,   88.0,
                    87.75,
                   ...
                   -87.75,  -88.0, -88.25,  -88.5, -88.75,  -89.0, -89.25,  -89.5, -89.75,
                    -90.0],
                  dtype='float32', name='latitude', length=721))
          • season
            PandasIndex
            PandasIndex(Index(['DJF', 'JJA', 'MAM', 'SON'], dtype='object', name='season'))
        • units :
          K
          long_name :
          2 metre temperature
        InĀ [Ā ]:
        seasonal_mean.plot(col="season",
                           cmap = 'coolwarm',
                           aspect=1.3,
                           size=5, col_wrap=2)
        
        Out[Ā ]:
        <xarray.plot.facetgrid.FacetGrid at 0x1667e3d30>
        No description has been provided for this image
        InĀ [Ā ]:
        seasonal_mean.plot.contour(col="season", cmap = 'coolwarm',
                                   levels=20, add_colorbar=True,
                                   aspect=1.3, size=5, col_wrap=2)
        
        Out[Ā ]:
        <xarray.plot.facetgrid.FacetGrid at 0x166902430>
        No description has been provided for this image

        MPI-ESM1-2-LR (2015-2050)¶

        InĀ [Ā ]:
        # Plot the mean values of scenario over time
        fig = plt.figure(1, figsize=[8,4])
        
        ax = plt.subplot(1, 1, 1, projection=ccrs.PlateCarree())
        ax.coastlines()
        
        model.ts.mean(dim='time').plot.pcolormesh(ax=ax, cmap='coolwarm')
        plt.title("Mean Surface Temperature MPI-ESM1-2-LR model 2015-2050", fontsize=11)
        
        Out[Ā ]:
        Text(0.5, 1.0, 'Mean Surface Temperature MPI-ESM1-2-LR model 2015-2050')
        No description has been provided for this image

        Dal plot si nota subito che il modello ha una risoluzione spaziale della temperatura minore rispetto ai dati di ERA5.

        InĀ [Ā ]:
        lat = model.ts.coords['lat'].values
        lon = model.ts.coords['lon'].values
        model_mean = model.ts.mean(dim='time')
        
        InĀ [Ā ]:
        ts_mean = pd.DataFrame(model_mean, lat, lon)
        
        InĀ [Ā ]:
        ts_mean
        
        Out[Ā ]:
        -180.000 -178.125 -176.250 -174.375 -172.500 -170.625 -168.750 -166.875 -165.000 -163.125 ... 161.250 163.125 165.000 166.875 168.750 170.625 172.500 174.375 176.250 178.125
        88.572169 260.103149 260.099792 260.099487 260.097870 260.094086 260.093353 260.091583 260.091949 260.092010 260.089417 ... 260.097229 260.097260 260.095276 260.113922 260.108826 260.110382 260.109985 260.108124 260.107147 260.103516
        86.722531 259.741211 259.730194 259.713104 259.699188 259.690857 259.679016 259.664429 259.646210 259.633331 259.620728 ... 259.908203 259.890289 259.877747 259.858429 259.843109 259.823120 259.806763 259.789093 259.769470 259.759064
        84.861970 259.824249 259.796143 259.773468 259.753876 259.732086 259.705200 259.674835 259.647095 259.621796 259.597931 ... 259.992432 259.977112 259.961060 259.938263 259.928192 259.912476 259.893311 259.876160 259.858551 259.844818
        82.998942 259.946472 259.917633 259.896301 259.873474 259.847321 259.822021 259.790009 259.749023 259.719299 259.694672 ... 260.088989 260.073181 260.061249 260.039093 260.032623 260.020172 260.006195 259.995148 259.983154 259.964142
        81.134977 260.090454 260.078003 260.058838 260.040894 260.016876 259.989685 259.959442 259.925446 259.890015 259.853088 ... 260.189880 260.170654 260.161133 260.154022 260.151031 260.141541 260.128113 260.125061 260.115448 260.110138
        ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
        -81.134977 248.326477 248.194077 248.154984 248.168869 248.186539 248.198257 248.215897 248.234070 248.263855 248.307037 ... 244.064560 245.637085 246.972427 248.030731 248.797241 249.255966 249.400223 249.267288 248.957977 248.600525
        -82.998942 250.572098 250.398438 250.187897 250.015076 249.828400 249.626816 249.434219 249.227509 249.014145 248.828537 ... 245.761887 247.000717 248.087006 249.007034 249.731476 250.267761 250.602463 250.784958 250.806381 250.726089
        -84.861970 248.406952 248.755264 249.018417 249.211288 249.361786 249.457336 249.507828 249.527969 249.522736 249.483780 ... 240.669113 241.760925 242.806900 243.785812 244.690903 245.511551 246.255020 246.913254 247.485382 247.987900
        -86.722531 236.855469 237.310089 237.715744 238.100510 238.449768 238.743454 239.019623 239.261536 239.457214 239.623947 ... 230.999786 231.671585 232.343323 232.993622 233.605728 234.205673 234.777603 235.338211 235.870743 236.379333
        -88.572169 225.119522 225.067841 225.011093 224.959503 224.909012 224.857635 224.800842 224.753418 224.701660 224.658264 ... 225.627762 225.593842 225.540955 225.497452 225.453629 225.401276 225.353943 225.287537 225.236465 225.178360

        96 rows Ɨ 192 columns

        InĀ [Ā ]:
        fig = plt.figure(figsize=(9,6))  # x,y(inches)
        
        ax = plt.axes(projection=ccrs.Robinson())
        ax.set_global()
        ax.set_title('Mean Temperature (hPa)')
        
        mm = ax.pcolormesh(ts_mean.columns, # longitude
                           ts_mean.index, # latitude
                           ts_mean, # data
                           shading='auto', \
                           transform=ccrs.PlateCarree(),
                           cmap=mpl.cm.cubehelix )
        
        ax.coastlines()
        
        #- add colorbar
        cbar_ax = fig.add_axes([0.28, 0.10, 0.46, 0.05]) #[left, bottom, width, height]
        cbar = fig.colorbar(mm, cax=cbar_ax, extend='both', orientation='horizontal')
        cbar.set_label('Temperature (K)') #($\mu g$ $m^{-3}$)
        cbar.ax.tick_params(labelsize=8)
        
        plt.show()
        plt.close()
        
        No description has been provided for this image
        InĀ [Ā ]:
        model
        
        Out[Ā ]:
        <xarray.Dataset>
        Dimensions:    (time: 432, bnds: 2, lat: 96, lon: 192)
        Coordinates:
          * time       (time) datetime64[ns] 2015-01-16T12:00:00 ... 2050-12-16T12:00:00
          * lat        (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
          * lon        (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
        Dimensions without coordinates: bnds
        Data variables:
            time_bnds  (time, bnds) datetime64[ns] ...
            lat_bnds   (time, lat, bnds) float64 ...
            lon_bnds   (time, lon, bnds) float64 179.1 -179.1 -179.1 ... 177.2 179.1
            ts         (time, lat, lon) float32 251.7 251.6 251.6 ... 239.4 239.5 239.4
        Attributes: (12/47)
            Conventions:            CF-1.7 CMIP-6.2
            activity_id:            ScenarioMIP
            branch_method:          standard
            branch_time_in_child:   60265.0
            branch_time_in_parent:  60265.0
            contact:                cmip6-mpi-esm@dkrz.de
            ...                     ...
            title:                  MPI-ESM1-2-LR output prepared for CMIP6
            variable_id:            ts
            variant_label:          r1i1p1f1
            license:                CMIP6 model data produced by MPI-M is licensed un...
            cmor_version:           3.5.0
            tracking_id:            hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
        xarray.Dataset
          • time: 432
          • bnds: 2
          • lat: 96
          • lon: 192
          • time
            (time)
            datetime64[ns]
            2015-01-16T12:00:00 ... 2050-12-...
            bounds :
            time_bnds
            axis :
            T
            long_name :
            time
            standard_name :
            time
            array(['2015-01-16T12:00:00.000000000', '2015-02-15T00:00:00.000000000',
                   '2015-03-16T12:00:00.000000000', ..., '2050-10-16T12:00:00.000000000',
                   '2050-11-16T00:00:00.000000000', '2050-12-16T12:00:00.000000000'],
                  dtype='datetime64[ns]')
          • lat
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • lon
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • time_bnds
            (time, bnds)
            datetime64[ns]
            ...
            [864 values with dtype=datetime64[ns]]
          • lat_bnds
            (time, lat, bnds)
            float64
            ...
            [82944 values with dtype=float64]
          • lon_bnds
            (time, lon, bnds)
            float64
            179.1 -179.1 -179.1 ... 177.2 179.1
            array([[[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
            ...
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]]])
          • ts
            (time, lat, lon)
            float32
            251.7 251.6 251.6 ... 239.5 239.4
            standard_name :
            surface_temperature
            long_name :
            Surface Temperature
            comment :
            Temperature of the lower boundary of the atmosphere
            units :
            K
            cell_methods :
            area: time: mean
            cell_measures :
            area: areacella
            history :
            2019-10-29T16:19:11Z altered by CMOR: replaced missing value flag (-9e+33) and corresponding data with standard missing value (1e+20). 2019-10-29T16:19:11Z altered by CMOR: Inverted axis: lat.
            array([[[251.65173, 251.60486, ..., 251.6576 , 251.65955],
                    [249.84119, 249.70642, ..., 249.70251, 249.85681],
                    ...,
                    [249.62244, 249.6654 , ..., 248.90369, 249.4154 ],
                    [243.20642, 243.19861, ..., 243.4701 , 243.18884]],
            
                   [[249.61436, 249.6671 , ..., 249.59679, 249.62022],
                    [246.87022, 246.90147, ..., 246.8253 , 246.86632],
                    ...,
                    [244.99327, 245.28233, ..., 244.28038, 244.67882],
                    [237.18077, 237.16905, ..., 237.25108, 237.19835]],
            
                   ...,
            
                   [[253.27412, 253.30147, ..., 253.3171 , 253.40889],
                    [254.14912, 254.09639, ..., 254.15108, 254.15498],
                    ...,
                    [241.67842, 242.23116, ..., 240.59444, 241.27217],
                    [229.43037, 229.45576, ..., 229.4499 , 229.28975]],
            
                   [[247.32181, 247.29642, ..., 247.44485, 247.37064],
                    [249.68704, 249.72806, ..., 249.71829, 249.65775],
                    ...,
                    [249.65189, 250.32571, ..., 249.14993, 249.49759],
                    [239.43704, 239.35501, ..., 239.45462, 239.40384]]], dtype=float32)
          • time
            PandasIndex
            PandasIndex(DatetimeIndex(['2015-01-16 12:00:00', '2015-02-15 00:00:00',
                           '2015-03-16 12:00:00', '2015-04-16 00:00:00',
                           '2015-05-16 12:00:00', '2015-06-16 00:00:00',
                           '2015-07-16 12:00:00', '2015-08-16 12:00:00',
                           '2015-09-16 00:00:00', '2015-10-16 12:00:00',
                           ...
                           '2050-03-16 12:00:00', '2050-04-16 00:00:00',
                           '2050-05-16 12:00:00', '2050-06-16 00:00:00',
                           '2050-07-16 12:00:00', '2050-08-16 12:00:00',
                           '2050-09-16 00:00:00', '2050-10-16 12:00:00',
                           '2050-11-16 00:00:00', '2050-12-16 12:00:00'],
                          dtype='datetime64[ns]', name='time', length=432, freq=None))
          • lat
            PandasIndex
            PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                     82.99894164283755,   81.13497683767741,   79.27055903485967,
                      77.4058880820788,   75.54106145287895,   73.67613231320912,
                     71.81113211427447,   69.94608064698343,   68.08099098565125,
                      66.2158721139987,   64.35073040887207,   62.48557052203639,
                     60.62039592682648,   58.75520926937993,   56.89001260135711,
                     55.02480753831166,   53.15959537001968,   51.29437713895115,
                     49.42915369712305,   47.56392574797867,  45.698693877701785,
                     43.83345857895126,   41.96822026907538,    40.1029793042494,
                     38.23773599056483,   36.37249059281224,   34.50724334150103,
                     32.64199443851768,   30.77674406172325,   28.91149236871774,
                     27.04623949994481,  25.180985581270594,   23.31573072614093,
                    21.450475037398185,   19.58521860882233,  17.719961526447428,
                    15.854703869694873,  13.989445712356673,  12.124187123455766,
                    10.258928168006376,   8.393668907692383,  6.5284094014799905,
                     4.663149706177884,   2.797889876956741,   0.932629967837991,
                    -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
                   -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
                   -12.124187123455766, -13.989445712356673, -15.854703869694873,
                   -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                    -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                    -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                    -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                     -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
                   -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                    -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                    -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                    -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                    -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                    -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                    -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                    -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
                  dtype='float64', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
                   -166.875,   -165.0, -163.125,
                   ...
                     161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                    174.375,   176.25,  178.125],
                  dtype='float64', name='lon', length=192))
        • Conventions :
          CF-1.7 CMIP-6.2
          activity_id :
          ScenarioMIP
          branch_method :
          standard
          branch_time_in_child :
          60265.0
          branch_time_in_parent :
          60265.0
          contact :
          cmip6-mpi-esm@dkrz.de
          creation_date :
          2019-10-29T16:19:11Z
          data_specs_version :
          01.00.30
          experiment :
          update of RCP2.6 based on SSP1
          experiment_id :
          ssp126
          external_variables :
          areacella
          forcing_index :
          1
          frequency :
          mon
          further_info_url :
          https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.ssp126.none.r1i1p1f1
          grid :
          gn
          grid_label :
          gn
          history :
          2019-10-29T16:19:11Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards.
          initialization_index :
          1
          institution :
          Max Planck Institute for Meteorology, Hamburg 20146, Germany
          institution_id :
          MPI-M
          mip_era :
          CMIP6
          nominal_resolution :
          250 km
          parent_activity_id :
          CMIP
          parent_experiment_id :
          historical
          parent_mip_era :
          CMIP6
          parent_source_id :
          MPI-ESM1-2-LR
          parent_time_units :
          days since 1850-1-1 00:00:00
          parent_variant_label :
          r1i1p1f1
          physics_index :
          1
          product :
          model-output
          project_id :
          CMIP6
          realization_index :
          1
          realm :
          atmos
          references :
          MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217
          source :
          MPI-ESM1.2-LR (2017): aerosol: none, prescribed MACv2-SP atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) atmosChem: none land: JSBACH3.20 landIce: none/prescribed ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) ocnBgchem: HAMOCC6 seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)
          source_id :
          MPI-ESM1-2-LR
          source_type :
          AOGCM
          sub_experiment :
          none
          sub_experiment_id :
          none
          table_id :
          Amon
          table_info :
          Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc
          title :
          MPI-ESM1-2-LR output prepared for CMIP6
          variable_id :
          ts
          variant_label :
          r1i1p1f1
          license :
          CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.
          cmor_version :
          3.5.0
          tracking_id :
          hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
        InĀ [Ā ]:
        model.time[2].values
        
        Out[Ā ]:
        numpy.datetime64('2015-03-16T12:00:00.000000000')
        InĀ [Ā ]:
        # Combine plot with different projections
        fig = plt.figure(1, figsize=[18,9])
        
        # Fix extent
        minval = 240
        maxval = 310
        
        # Plot 1 for Northern Hemisphere subplot argument (nrows, ncols, nplot)
        # here 1 row, 2 columns and 1st plot
        ax1 = plt.subplot(1, 2, 1, projection=ccrs.Orthographic(0, 90))
        
        # Plot 2 for Southern Hemisphere
        # 2nd plot 
        ax2 = plt.subplot(1, 2, 2, projection=ccrs.Orthographic(180, -90))
        
        tsel = 0
        for ax,t in zip([ax1, ax2], ["Northern", "Southern"]):
            map = model.ts.sel(time='2022-12-16T12:00:00.000000000').plot(ax=ax, vmin=minval, vmax=maxval, 
                                                                     transform=ccrs.PlateCarree(), 
                                                                     cmap='coolwarm', 
                                                                     add_colorbar=False)
            ax.set_title(t + " Hemisphere \n" , fontsize=15)
            ax.coastlines()
            ax.gridlines()
        
        # Title for both plots
        fig.suptitle('MPI-ESM1-2-LR Surface Temperature December 2022', fontsize=20)
        
        
        cb_ax = fig.add_axes([0.325, 0.05, 0.4, 0.04])
        
        cbar = plt.colorbar(map, cax=cb_ax, extend='both', orientation='horizontal', fraction=0.046, pad=0.04)
        cbar.ax.tick_params(labelsize=25)
        cbar.ax.set_ylabel('K', fontsize=25)
        
        Out[Ā ]:
        Text(0, 0.5, 'K')
        No description has been provided for this image
        InĀ [Ā ]:
        # Plot the mean values of the scenario over longitude and latitude
        model.mean(['lat', 'lon']).ts.sel({'time': slice('2020', '2030')}).plot()
        plt.xlabel('Year')
        plt.ylabel('Temperature (K)')
        plt.title('Mean Temperature (K) from 2020 to 2030')
        
        Out[Ā ]:
        Text(0.5, 1.0, 'Mean Temperature (K) from 2020 to 2030')
        No description has been provided for this image
        InĀ [Ā ]:
        # Plot the mean values of the scenario over longitude and latitude (separating the emispheres)
        model.where(model.lat > 0).sel({'time': slice('2020', '2030')}).mean(['lat', 'lon']).ts.plot(label='Northern Hemisphere')
        model.where(model.lat < 0).sel({'time': slice('2020', '2030')}).mean(['lat', 'lon']).ts.plot(label='Southern Hemisphere')
        plt.xlabel('Year')
        plt.ylabel('Temperature (K)')
        plt.legend()
        plt.title('Mean Temperature (K) from 2020 to 2030 per Emisphere')
        
        Out[Ā ]:
        Text(0.5, 1.0, 'Mean Temperature (K) from 2020 to 2030 per Emisphere')
        No description has been provided for this image
        InĀ [Ā ]:
        # Plot the mean values of the scenario over longitude
        model.sel({'time': slice('2025', '2030')}).ts.mean(dim='lon').plot(cmap='jet')
        plt.title('Mean Temperature (K) from 2025 to 2030 over Longitude')
        
        Out[Ā ]:
        Text(0.5, 1.0, 'Mean Temperature (K) from 2025 to 2030 over Longitude')
        No description has been provided for this image
        InĀ [Ā ]:
        # Compute the average yearly temperature 
        # first mean of all year, mean between all years, and mean on lat lon
        annual_mean_temperature = model.ts.resample(time='Y', label='right').mean(dim='time').mean(dim='time').mean().values
        print('The Annual Mean Temperature between 2015 and 2050 is:', annual_mean_temperature)
        
        The Annual Mean Temperature between 2015 and 2050 is: 279.9384
        
        InĀ [Ā ]:
        seasonal_mean = model.ts.groupby("time.season").mean()
        seasonal_mean
        
        Out[Ā ]:
        <xarray.DataArray 'ts' (season: 4, lat: 96, lon: 192)>
        array([[[248.87894, 248.87198, 248.86989, ..., 248.89072, 248.88844,
                 248.88123],
                [248.07092, 248.04707, 248.01292, ..., 248.15842, 248.11932,
                 248.0947 ],
                [247.90872, 247.85469, 247.82776, ..., 248.01189, 247.96515,
                 247.94545],
                ...,
                [257.3325 , 257.80054, 258.19406, ..., 255.68124, 256.2763 ,
                 256.82108],
                [247.97238, 248.33287, 248.65443, ..., 246.82402, 247.2071 ,
                 247.61543],
                [240.62566, 240.55457, 240.48662, ..., 240.8471 , 240.7822 ,
                 240.70201]],
        
               [[272.3684 , 272.36765, 272.36838, ..., 272.3676 , 272.36774,
                 272.368  ],
                [272.2623 , 272.2638 , 272.26178, ..., 272.26453, 272.26425,
                 272.2638 ],
                [272.28043, 272.2813 , 272.27884, ..., 272.281  , 272.28177,
                 272.2816 ],
        ...
                [247.24951, 247.65834, 247.96422, ..., 245.59352, 246.21046,
                 246.78401],
                [234.71307, 235.23962, 235.72263, ..., 232.98836, 233.601  ,
                 234.16745],
                [221.24445, 221.1628 , 221.07278, ..., 221.5279 , 221.4447 ,
                 221.34277]],
        
               [[262.89508, 262.89426, 262.89685, ..., 262.89224, 262.89383,
                 262.89386],
                [262.50146, 262.49057, 262.47885, ..., 262.53265, 262.51883,
                 262.52063],
                [262.74728, 262.71243, 262.66528, ..., 262.8038 , 262.7867 ,
                 262.77185],
                ...,
                [246.47685, 246.75137, 246.95355, ..., 245.09572, 245.64685,
                 246.11057],
                [235.14192, 235.58359, 235.98395, ..., 233.61662, 234.15804,
                 234.65663],
                [223.24113, 223.19824, 223.15482, ..., 223.35623, 223.3241 ,
                 223.28383]]], dtype=float32)
        Coordinates:
          * lat      (lat) float64 88.57 86.72 84.86 83.0 ... -83.0 -84.86 -86.72 -88.57
          * lon      (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
          * season   (season) object 'DJF' 'JJA' 'MAM' 'SON'
        Attributes:
            standard_name:  surface_temperature
            long_name:      Surface Temperature
            comment:        Temperature of the lower boundary of the atmosphere
            units:          K
            cell_methods:   area: time: mean
            cell_measures:  area: areacella
            history:        2019-10-29T16:19:11Z altered by CMOR: replaced missing va...
        xarray.DataArray
        'ts'
        • season: 4
        • lat: 96
        • lon: 192
        • 248.9 248.9 248.9 248.9 248.9 248.8 ... 223.4 223.4 223.4 223.3 223.3
          array([[[248.87894, 248.87198, 248.86989, ..., 248.89072, 248.88844,
                   248.88123],
                  [248.07092, 248.04707, 248.01292, ..., 248.15842, 248.11932,
                   248.0947 ],
                  [247.90872, 247.85469, 247.82776, ..., 248.01189, 247.96515,
                   247.94545],
                  ...,
                  [257.3325 , 257.80054, 258.19406, ..., 255.68124, 256.2763 ,
                   256.82108],
                  [247.97238, 248.33287, 248.65443, ..., 246.82402, 247.2071 ,
                   247.61543],
                  [240.62566, 240.55457, 240.48662, ..., 240.8471 , 240.7822 ,
                   240.70201]],
          
                 [[272.3684 , 272.36765, 272.36838, ..., 272.3676 , 272.36774,
                   272.368  ],
                  [272.2623 , 272.2638 , 272.26178, ..., 272.26453, 272.26425,
                   272.2638 ],
                  [272.28043, 272.2813 , 272.27884, ..., 272.281  , 272.28177,
                   272.2816 ],
          ...
                  [247.24951, 247.65834, 247.96422, ..., 245.59352, 246.21046,
                   246.78401],
                  [234.71307, 235.23962, 235.72263, ..., 232.98836, 233.601  ,
                   234.16745],
                  [221.24445, 221.1628 , 221.07278, ..., 221.5279 , 221.4447 ,
                   221.34277]],
          
                 [[262.89508, 262.89426, 262.89685, ..., 262.89224, 262.89383,
                   262.89386],
                  [262.50146, 262.49057, 262.47885, ..., 262.53265, 262.51883,
                   262.52063],
                  [262.74728, 262.71243, 262.66528, ..., 262.8038 , 262.7867 ,
                   262.77185],
                  ...,
                  [246.47685, 246.75137, 246.95355, ..., 245.09572, 245.64685,
                   246.11057],
                  [235.14192, 235.58359, 235.98395, ..., 233.61662, 234.15804,
                   234.65663],
                  [223.24113, 223.19824, 223.15482, ..., 223.35623, 223.3241 ,
                   223.28383]]], dtype=float32)
          • lat
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • lon
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • season
            (season)
            object
            'DJF' 'JJA' 'MAM' 'SON'
            array(['DJF', 'JJA', 'MAM', 'SON'], dtype=object)
          • lat
            PandasIndex
            PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                     82.99894164283755,   81.13497683767741,   79.27055903485967,
                      77.4058880820788,   75.54106145287895,   73.67613231320912,
                     71.81113211427447,   69.94608064698343,   68.08099098565125,
                      66.2158721139987,   64.35073040887207,   62.48557052203639,
                     60.62039592682648,   58.75520926937993,   56.89001260135711,
                     55.02480753831166,   53.15959537001968,   51.29437713895115,
                     49.42915369712305,   47.56392574797867,  45.698693877701785,
                     43.83345857895126,   41.96822026907538,    40.1029793042494,
                     38.23773599056483,   36.37249059281224,   34.50724334150103,
                     32.64199443851768,   30.77674406172325,   28.91149236871774,
                     27.04623949994481,  25.180985581270594,   23.31573072614093,
                    21.450475037398185,   19.58521860882233,  17.719961526447428,
                    15.854703869694873,  13.989445712356673,  12.124187123455766,
                    10.258928168006376,   8.393668907692383,  6.5284094014799905,
                     4.663149706177884,   2.797889876956741,   0.932629967837991,
                    -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
                   -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
                   -12.124187123455766, -13.989445712356673, -15.854703869694873,
                   -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                    -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                    -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                    -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                     -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
                   -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                    -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                    -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                    -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                    -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                    -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                    -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                    -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
                  dtype='float64', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
                   -166.875,   -165.0, -163.125,
                   ...
                     161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                    174.375,   176.25,  178.125],
                  dtype='float64', name='lon', length=192))
          • season
            PandasIndex
            PandasIndex(Index(['DJF', 'JJA', 'MAM', 'SON'], dtype='object', name='season'))
        • standard_name :
          surface_temperature
          long_name :
          Surface Temperature
          comment :
          Temperature of the lower boundary of the atmosphere
          units :
          K
          cell_methods :
          area: time: mean
          cell_measures :
          area: areacella
          history :
          2019-10-29T16:19:11Z altered by CMOR: replaced missing value flag (-9e+33) and corresponding data with standard missing value (1e+20). 2019-10-29T16:19:11Z altered by CMOR: Inverted axis: lat.
        InĀ [Ā ]:
        seasonal_mean.plot(col="season",
                           cmap = 'coolwarm',
                           aspect=1.3,
                           size=5, col_wrap=2)
        
        Out[Ā ]:
        <xarray.plot.facetgrid.FacetGrid at 0x166577790>
        No description has been provided for this image
        InĀ [Ā ]:
        seasonal_mean.plot.contour(col="season", cmap = 'coolwarm',
                                   levels=20, add_colorbar=True,
                                   aspect=1.3, size=5, col_wrap=2)
        
        Out[Ā ]:
        <xarray.plot.facetgrid.FacetGrid at 0x15855e130>
        No description has been provided for this image

        Aggregazione Spaziale: Regridding¶

        Confrontando le dimensioni delle griglie spaziali dei due dataset si osserva che:

        • ERA5 dataset shape: 721 (latitudine) x 1440 (longitudine)
        • MPI-ESM1-2-LR dataset shape: 96 (latitudine) x 192 (longitudine)

        Le differenze significative nelle risoluzioni spaziali richiedono una corretta procedura di regridding. È importante notare che l'ERA5 ha una risoluzione spaziale più elevata rispetto al MPI-ESM1-2-LR. Il regridding dovrebbe essere eseguito in modo attento per preservare al meglio le caratteristiche spaziali originali durante l'allineamento delle griglie. Questo assicurerà che i due set di dati siano comparabili e utilizzabili in modo significativo per le analisi climatiche.

        InĀ [Ā ]:
        print('ERA5 dataset shape:\t\t', temp.dims['latitude'], temp.dims['longitude'])
        print('MPI-ESM1-2-LR dataset shape:\t', model.dims['lat'], model.dims['lon'])
        
        ERA5 dataset shape:		 721 1440
        MPI-ESM1-2-LR dataset shape:	 96 192
        
        InĀ [Ā ]:
        # Plot grid comparison over Italy
        ax = plt.axes(projection=ccrs.PlateCarree())
        ax.set_extent([5, 20, 35, 50]) # select italy
        ax.coastlines()
        ax.add_feature(cf.BORDERS)
        
        gl1 = ax.gridlines(color='tab:orange') # 
        gl1.xlocator = ticker.FixedLocator(temp.longitude.values)
        gl1.ylocator = ticker.FixedLocator(temp.latitude.values)
        
        gl2 = ax.gridlines(color='tab:blue') # 
        gl2.xlocator = ticker.FixedLocator(model.lon.values)
        gl2.ylocator = ticker.FixedLocator(model.lat.values)
        
        No description has been provided for this image

        La risoluzione di ERA5 è estremamente maggiore rispetto a MPI-ESM1-2-LR, questo si nota notevolmente da questo output. La risoluzione più bassa che si ottiene dal regridding rende il dataset non ottimale per predizioni metereologiche a livello locale e a breve termine.

        InĀ [Ā ]:
        temp_lin = temp.interp(latitude=model.lat, longitude=model.lon, method='linear')
        temp_near = temp.interp(latitude=model.lat, longitude=model.lon, method='nearest')
        

        Utilizzo due metodi di regridding: "nearest" e "linear. come metodo di regridding quando la semplicità e la velocità sono prioritarie, mentre "linear" è scelto per preservare meglio le tendenze continue e le variazioni spaziali nei dati durante l'allineamento delle griglie spaziali tra ERA5 (risoluzione più alta) e MPI-ESM1-2-LR (risoluzione più bassa).

        InĀ [Ā ]:
        # Check which one preserves the global mean temperature
        print('Original average temperature:\t', temp.t2m.mean(['time', 'latitude', 'longitude']).values)
        print('Linear average temperature:\t', temp_lin.t2m.mean(['time', 'lat', 'lon']).values)
        print('Nearest average temperature.:\t', temp_near.t2m.mean(['time', 'lat', 'lon']).values)
        
        Original average temperature:	 278.19754
        Linear average temperature:	 278.4317843603806
        Nearest average temperature.:	 278.4387
        

        I risultati indicano che, dopo il regridding, l'average temperature ottenuto utilizzando il metodo "linear" è 278.43, mentre con il metodo "nearest" è 278.44. Benché simili, scelgo il metodo "nearest". Questo approccio è spesso preferito per la sua semplicità e velocità

        Operazione Temporale¶

        Allineamento Temporale + Analisi Statistica: Test t¶

        Prima di applicare ogni operazione nel tempo, ĆØ essenziale assicurarsi che le coordinate temporali di entrambi i dataset coincidano, consentendo confronti significativi.

        InĀ [Ā ]:
        # Identify the time range of interest in ds_era5
        start_date_temp = temp_near['time'].min().values
        end_date_temp = temp_near['time'].max().values
        
        InĀ [Ā ]:
        start_date_temp, end_date_temp
        
        Out[Ā ]:
        (numpy.datetime64('1950-01-01T00:00:00.000000000'),
         numpy.datetime64('2022-12-01T00:00:00.000000000'))
        InĀ [Ā ]:
        # Identify the time range of interest in ds_era5
        start_date_model = model['time'].min().values
        end_date_model = model['time'].max().values
        
        InĀ [Ā ]:
        start_date_model, end_date_model
        
        Out[Ā ]:
        (numpy.datetime64('2015-01-16T12:00:00.000000000'),
         numpy.datetime64('2050-12-16T12:00:00.000000000'))

        L'intervallo temporale comune tra il modello e le osservazioni va dal 2015-01-16T12:00:00 al 2022-12-01T00:00:00.

        InĀ [Ā ]:
        temp_near_aligned = temp_near.sel(time=slice(start_date_model, end_date_temp))
        model_aligned = model.sel(time=slice(start_date_model, end_date_temp))
        
        InĀ [Ā ]:
        temp_near_aligned
        
        Out[Ā ]:
        <xarray.Dataset>
        Dimensions:    (time: 95, lat: 96, lon: 192)
        Coordinates:
          * time       (time) datetime64[ns] 2015-02-01 2015-03-01 ... 2022-12-01
            latitude   (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
            longitude  (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
          * lat        (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
          * lon        (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
            month      (time) int64 2 3 4 5 6 7 8 9 10 11 12 ... 3 4 5 6 7 8 9 10 11 12
        Data variables:
            t2m        (time, lat, lon) float32 nan nan nan nan ... 243.8 243.8 243.8
            anomalies  (time, lat, lon) float32 nan nan nan nan ... 0.9939 0.9665 0.9411
        Attributes:
            Conventions:  CF-1.6
            history:      2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
        xarray.Dataset
          • time: 95
          • lat: 96
          • lon: 192
          • time
            (time)
            datetime64[ns]
            2015-02-01 ... 2022-12-01
            long_name :
            time
            array(['2015-02-01T00:00:00.000000000', '2015-03-01T00:00:00.000000000',
                   '2015-04-01T00:00:00.000000000', '2015-05-01T00:00:00.000000000',
                   '2015-06-01T00:00:00.000000000', '2015-07-01T00:00:00.000000000',
                   '2015-08-01T00:00:00.000000000', '2015-09-01T00:00:00.000000000',
                   '2015-10-01T00:00:00.000000000', '2015-11-01T00:00:00.000000000',
                   '2015-12-01T00:00:00.000000000', '2016-01-01T00:00:00.000000000',
                   '2016-02-01T00:00:00.000000000', '2016-03-01T00:00:00.000000000',
                   '2016-04-01T00:00:00.000000000', '2016-05-01T00:00:00.000000000',
                   '2016-06-01T00:00:00.000000000', '2016-07-01T00:00:00.000000000',
                   '2016-08-01T00:00:00.000000000', '2016-09-01T00:00:00.000000000',
                   '2016-10-01T00:00:00.000000000', '2016-11-01T00:00:00.000000000',
                   '2016-12-01T00:00:00.000000000', '2017-01-01T00:00:00.000000000',
                   '2017-02-01T00:00:00.000000000', '2017-03-01T00:00:00.000000000',
                   '2017-04-01T00:00:00.000000000', '2017-05-01T00:00:00.000000000',
                   '2017-06-01T00:00:00.000000000', '2017-07-01T00:00:00.000000000',
                   '2017-08-01T00:00:00.000000000', '2017-09-01T00:00:00.000000000',
                   '2017-10-01T00:00:00.000000000', '2017-11-01T00:00:00.000000000',
                   '2017-12-01T00:00:00.000000000', '2018-01-01T00:00:00.000000000',
                   '2018-02-01T00:00:00.000000000', '2018-03-01T00:00:00.000000000',
                   '2018-04-01T00:00:00.000000000', '2018-05-01T00:00:00.000000000',
                   '2018-06-01T00:00:00.000000000', '2018-07-01T00:00:00.000000000',
                   '2018-08-01T00:00:00.000000000', '2018-09-01T00:00:00.000000000',
                   '2018-10-01T00:00:00.000000000', '2018-11-01T00:00:00.000000000',
                   '2018-12-01T00:00:00.000000000', '2019-01-01T00:00:00.000000000',
                   '2019-02-01T00:00:00.000000000', '2019-03-01T00:00:00.000000000',
                   '2019-04-01T00:00:00.000000000', '2019-05-01T00:00:00.000000000',
                   '2019-06-01T00:00:00.000000000', '2019-07-01T00:00:00.000000000',
                   '2019-08-01T00:00:00.000000000', '2019-09-01T00:00:00.000000000',
                   '2019-10-01T00:00:00.000000000', '2019-11-01T00:00:00.000000000',
                   '2019-12-01T00:00:00.000000000', '2020-01-01T00:00:00.000000000',
                   '2020-02-01T00:00:00.000000000', '2020-03-01T00:00:00.000000000',
                   '2020-04-01T00:00:00.000000000', '2020-05-01T00:00:00.000000000',
                   '2020-06-01T00:00:00.000000000', '2020-07-01T00:00:00.000000000',
                   '2020-08-01T00:00:00.000000000', '2020-09-01T00:00:00.000000000',
                   '2020-10-01T00:00:00.000000000', '2020-11-01T00:00:00.000000000',
                   '2020-12-01T00:00:00.000000000', '2021-01-01T00:00:00.000000000',
                   '2021-02-01T00:00:00.000000000', '2021-03-01T00:00:00.000000000',
                   '2021-04-01T00:00:00.000000000', '2021-05-01T00:00:00.000000000',
                   '2021-06-01T00:00:00.000000000', '2021-07-01T00:00:00.000000000',
                   '2021-08-01T00:00:00.000000000', '2021-09-01T00:00:00.000000000',
                   '2021-10-01T00:00:00.000000000', '2021-11-01T00:00:00.000000000',
                   '2021-12-01T00:00:00.000000000', '2022-01-01T00:00:00.000000000',
                   '2022-02-01T00:00:00.000000000', '2022-03-01T00:00:00.000000000',
                   '2022-04-01T00:00:00.000000000', '2022-05-01T00:00:00.000000000',
                   '2022-06-01T00:00:00.000000000', '2022-07-01T00:00:00.000000000',
                   '2022-08-01T00:00:00.000000000', '2022-09-01T00:00:00.000000000',
                   '2022-10-01T00:00:00.000000000', '2022-11-01T00:00:00.000000000',
                   '2022-12-01T00:00:00.000000000'], dtype='datetime64[ns]')
          • latitude
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • longitude
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • lat
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • lon
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • month
            (time)
            int64
            2 3 4 5 6 7 8 ... 6 7 8 9 10 11 12
            array([ 2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,  7,
                    8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,
                    2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,  7,
                    8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,
                    2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,  7,
                    8,  9, 10, 11, 12])
          • t2m
            (time, lat, lon)
            float32
            nan nan nan ... 243.8 243.8 243.8
            units :
            K
            long_name :
            2 metre temperature
            array([[[      nan,       nan,       nan, ..., 251.95918, 251.9345 ,
                     251.91333],
                    [      nan,       nan,       nan, ..., 251.5801 , 251.4884 ,
                     251.40729],
                    [      nan,       nan,       nan, ..., 250.91008, 250.88715,
                     250.83249],
                    ...,
                    [      nan,       nan,       nan, ..., 249.95972, 252.00502,
                     253.91809],
                    [      nan,       nan,       nan, ..., 241.14902, 241.25304,
                     241.33238],
                    [      nan,       nan,       nan, ..., 234.55112, 234.5811 ,
                     234.6005 ]],
            
                   [[      nan,       nan,       nan, ..., 253.19165, 253.16873,
                     253.14581],
                    [      nan,       nan,       nan, ..., 252.80728, 252.70148,
                     252.61156],
                    [      nan,       nan,       nan, ..., 252.11258, 251.95036,
                     251.7952 ],
            ...
                    [      nan,       nan,       nan, ..., 245.09857, 247.33607,
                     249.86626],
                    [      nan,       nan,       nan, ..., 238.91504, 238.98734,
                     239.05962],
                    [      nan,       nan,       nan, ..., 234.4559 , 234.46472,
                     234.47177]],
            
                   [[      nan,       nan,       nan, ..., 248.46628, 248.42926,
                     248.39752],
                    [      nan,       nan,       nan, ..., 247.94614, 247.87914,
                     247.828  ],
                    [      nan,       nan,       nan, ..., 250.02142, 250.03552,
                     250.04964],
                    ...,
                    [      nan,       nan,       nan, ..., 252.52869, 254.57928,
                     257.54675],
                    [      nan,       nan,       nan, ..., 246.8988 , 246.84238,
                     246.7983 ],
                    [      nan,       nan,       nan, ..., 243.8467 , 243.83083,
                     243.81497]]], dtype=float32)
          • anomalies
            (time, lat, lon)
            float32
            nan nan nan ... 0.9665 0.9411
            array([[[        nan,         nan,         nan, ...,  7.1979218 ,
                      7.1717224 ,  7.149063  ],
                    [        nan,         nan,         nan, ...,  7.08934   ,
                      7.016876  ,  6.9493256 ],
                    [        nan,         nan,         nan, ...,  6.475403  ,
                      6.4552765 ,  6.423111  ],
                    ...,
                    [        nan,         nan,         nan, ...,  1.8802795 ,
                      1.8746338 ,  1.6381989 ],
                    [        nan,         nan,         nan, ...,  1.1008911 ,
                      1.0659485 ,  1.0276642 ],
                    [        nan,         nan,         nan, ..., -0.4699402 ,
                     -0.47702026, -0.48760986]],
            
                   [[        nan,         nan,         nan, ...,  7.2879486 ,
                      7.260147  ,  7.232544  ],
                    [        nan,         nan,         nan, ...,  7.063156  ,
                      6.968109  ,  6.885727  ],
                    [        nan,         nan,         nan, ...,  6.197159  ,
                      6.065338  ,  5.9228973 ],
            ...
                    [        nan,         nan,         nan, ..., -2.0494385 ,
                     -1.9086914 , -1.5129089 ],
                    [        nan,         nan,         nan, ..., -1.240799  ,
                     -1.2525482 , -1.2560883 ],
                    [        nan,         nan,         nan, ..., -0.9463959 ,
                     -0.95137024, -0.95425415]],
            
                   [[        nan,         nan,         nan, ...,  1.9195709 ,
                      1.8927002 ,  1.8699036 ],
                    [        nan,         nan,         nan, ...,  1.3067932 ,
                      1.3012543 ,  1.2983551 ],
                    [        nan,         nan,         nan, ...,  3.2816467 ,
                      3.3492737 ,  3.460785  ],
                    ...,
                    [        nan,         nan,         nan, ...,  0.3182068 ,
                      0.34788513,  0.6425171 ],
                    [        nan,         nan,         nan, ...,  0.8448944 ,
                      0.76023865,  0.68362427],
                    [        nan,         nan,         nan, ...,  0.99394226,
                      0.9665375 ,  0.9410553 ]]], dtype=float32)
          • time
            PandasIndex
            PandasIndex(DatetimeIndex(['2015-02-01', '2015-03-01', '2015-04-01', '2015-05-01',
                           '2015-06-01', '2015-07-01', '2015-08-01', '2015-09-01',
                           '2015-10-01', '2015-11-01', '2015-12-01', '2016-01-01',
                           '2016-02-01', '2016-03-01', '2016-04-01', '2016-05-01',
                           '2016-06-01', '2016-07-01', '2016-08-01', '2016-09-01',
                           '2016-10-01', '2016-11-01', '2016-12-01', '2017-01-01',
                           '2017-02-01', '2017-03-01', '2017-04-01', '2017-05-01',
                           '2017-06-01', '2017-07-01', '2017-08-01', '2017-09-01',
                           '2017-10-01', '2017-11-01', '2017-12-01', '2018-01-01',
                           '2018-02-01', '2018-03-01', '2018-04-01', '2018-05-01',
                           '2018-06-01', '2018-07-01', '2018-08-01', '2018-09-01',
                           '2018-10-01', '2018-11-01', '2018-12-01', '2019-01-01',
                           '2019-02-01', '2019-03-01', '2019-04-01', '2019-05-01',
                           '2019-06-01', '2019-07-01', '2019-08-01', '2019-09-01',
                           '2019-10-01', '2019-11-01', '2019-12-01', '2020-01-01',
                           '2020-02-01', '2020-03-01', '2020-04-01', '2020-05-01',
                           '2020-06-01', '2020-07-01', '2020-08-01', '2020-09-01',
                           '2020-10-01', '2020-11-01', '2020-12-01', '2021-01-01',
                           '2021-02-01', '2021-03-01', '2021-04-01', '2021-05-01',
                           '2021-06-01', '2021-07-01', '2021-08-01', '2021-09-01',
                           '2021-10-01', '2021-11-01', '2021-12-01', '2022-01-01',
                           '2022-02-01', '2022-03-01', '2022-04-01', '2022-05-01',
                           '2022-06-01', '2022-07-01', '2022-08-01', '2022-09-01',
                           '2022-10-01', '2022-11-01', '2022-12-01'],
                          dtype='datetime64[ns]', name='time', freq=None))
          • lat
            PandasIndex
            PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                     82.99894164283755,   81.13497683767741,   79.27055903485967,
                      77.4058880820788,   75.54106145287895,   73.67613231320912,
                     71.81113211427447,   69.94608064698343,   68.08099098565125,
                      66.2158721139987,   64.35073040887207,   62.48557052203639,
                     60.62039592682648,   58.75520926937993,   56.89001260135711,
                     55.02480753831166,   53.15959537001968,   51.29437713895115,
                     49.42915369712305,   47.56392574797867,  45.698693877701785,
                     43.83345857895126,   41.96822026907538,    40.1029793042494,
                     38.23773599056483,   36.37249059281224,   34.50724334150103,
                     32.64199443851768,   30.77674406172325,   28.91149236871774,
                     27.04623949994481,  25.180985581270594,   23.31573072614093,
                    21.450475037398185,   19.58521860882233,  17.719961526447428,
                    15.854703869694873,  13.989445712356673,  12.124187123455766,
                    10.258928168006376,   8.393668907692383,  6.5284094014799905,
                     4.663149706177884,   2.797889876956741,   0.932629967837991,
                    -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
                   -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
                   -12.124187123455766, -13.989445712356673, -15.854703869694873,
                   -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                    -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                    -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                    -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                     -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
                   -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                    -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                    -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                    -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                    -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                    -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                    -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                    -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
                  dtype='float64', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
                   -166.875,   -165.0, -163.125,
                   ...
                     161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                    174.375,   176.25,  178.125],
                  dtype='float64', name='lon', length=192))
        • Conventions :
          CF-1.6
          history :
          2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib
        InĀ [Ā ]:
        model_aligned
        
        Out[Ā ]:
        <xarray.Dataset>
        Dimensions:    (time: 95, bnds: 2, lat: 96, lon: 192)
        Coordinates:
          * time       (time) datetime64[ns] 2015-01-16T12:00:00 ... 2022-11-16
          * lat        (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
          * lon        (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
            latitude   (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
            longitude  (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
            month      (time) int64 1 2 3 4 5 6 7 8 9 10 11 ... 1 2 3 4 5 6 7 8 9 10 11
        Dimensions without coordinates: bnds
        Data variables:
            time_bnds  (time, bnds) datetime64[ns] ...
            lat_bnds   (time, lat, bnds) float64 ...
            lon_bnds   (time, lon, bnds) float64 179.1 -179.1 -179.1 ... 177.2 179.1
            ts         (time, lat, lon) float32 ...
            anomalies  (time, lat, lon) float32 nan nan nan nan ... -3.034 -3.093 -3.144
        Attributes: (12/47)
            Conventions:            CF-1.7 CMIP-6.2
            activity_id:            ScenarioMIP
            branch_method:          standard
            branch_time_in_child:   60265.0
            branch_time_in_parent:  60265.0
            contact:                cmip6-mpi-esm@dkrz.de
            ...                     ...
            title:                  MPI-ESM1-2-LR output prepared for CMIP6
            variable_id:            ts
            variant_label:          r1i1p1f1
            license:                CMIP6 model data produced by MPI-M is licensed un...
            cmor_version:           3.5.0
            tracking_id:            hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
        xarray.Dataset
          • time: 95
          • bnds: 2
          • lat: 96
          • lon: 192
          • time
            (time)
            datetime64[ns]
            2015-01-16T12:00:00 ... 2022-11-16
            bounds :
            time_bnds
            axis :
            T
            long_name :
            time
            standard_name :
            time
            array(['2015-01-16T12:00:00.000000000', '2015-02-15T00:00:00.000000000',
                   '2015-03-16T12:00:00.000000000', '2015-04-16T00:00:00.000000000',
                   '2015-05-16T12:00:00.000000000', '2015-06-16T00:00:00.000000000',
                   '2015-07-16T12:00:00.000000000', '2015-08-16T12:00:00.000000000',
                   '2015-09-16T00:00:00.000000000', '2015-10-16T12:00:00.000000000',
                   '2015-11-16T00:00:00.000000000', '2015-12-16T12:00:00.000000000',
                   '2016-01-16T12:00:00.000000000', '2016-02-15T12:00:00.000000000',
                   '2016-03-16T12:00:00.000000000', '2016-04-16T00:00:00.000000000',
                   '2016-05-16T12:00:00.000000000', '2016-06-16T00:00:00.000000000',
                   '2016-07-16T12:00:00.000000000', '2016-08-16T12:00:00.000000000',
                   '2016-09-16T00:00:00.000000000', '2016-10-16T12:00:00.000000000',
                   '2016-11-16T00:00:00.000000000', '2016-12-16T12:00:00.000000000',
                   '2017-01-16T12:00:00.000000000', '2017-02-15T00:00:00.000000000',
                   '2017-03-16T12:00:00.000000000', '2017-04-16T00:00:00.000000000',
                   '2017-05-16T12:00:00.000000000', '2017-06-16T00:00:00.000000000',
                   '2017-07-16T12:00:00.000000000', '2017-08-16T12:00:00.000000000',
                   '2017-09-16T00:00:00.000000000', '2017-10-16T12:00:00.000000000',
                   '2017-11-16T00:00:00.000000000', '2017-12-16T12:00:00.000000000',
                   '2018-01-16T12:00:00.000000000', '2018-02-15T00:00:00.000000000',
                   '2018-03-16T12:00:00.000000000', '2018-04-16T00:00:00.000000000',
                   '2018-05-16T12:00:00.000000000', '2018-06-16T00:00:00.000000000',
                   '2018-07-16T12:00:00.000000000', '2018-08-16T12:00:00.000000000',
                   '2018-09-16T00:00:00.000000000', '2018-10-16T12:00:00.000000000',
                   '2018-11-16T00:00:00.000000000', '2018-12-16T12:00:00.000000000',
                   '2019-01-16T12:00:00.000000000', '2019-02-15T00:00:00.000000000',
                   '2019-03-16T12:00:00.000000000', '2019-04-16T00:00:00.000000000',
                   '2019-05-16T12:00:00.000000000', '2019-06-16T00:00:00.000000000',
                   '2019-07-16T12:00:00.000000000', '2019-08-16T12:00:00.000000000',
                   '2019-09-16T00:00:00.000000000', '2019-10-16T12:00:00.000000000',
                   '2019-11-16T00:00:00.000000000', '2019-12-16T12:00:00.000000000',
                   '2020-01-16T12:00:00.000000000', '2020-02-15T12:00:00.000000000',
                   '2020-03-16T12:00:00.000000000', '2020-04-16T00:00:00.000000000',
                   '2020-05-16T12:00:00.000000000', '2020-06-16T00:00:00.000000000',
                   '2020-07-16T12:00:00.000000000', '2020-08-16T12:00:00.000000000',
                   '2020-09-16T00:00:00.000000000', '2020-10-16T12:00:00.000000000',
                   '2020-11-16T00:00:00.000000000', '2020-12-16T12:00:00.000000000',
                   '2021-01-16T12:00:00.000000000', '2021-02-15T00:00:00.000000000',
                   '2021-03-16T12:00:00.000000000', '2021-04-16T00:00:00.000000000',
                   '2021-05-16T12:00:00.000000000', '2021-06-16T00:00:00.000000000',
                   '2021-07-16T12:00:00.000000000', '2021-08-16T12:00:00.000000000',
                   '2021-09-16T00:00:00.000000000', '2021-10-16T12:00:00.000000000',
                   '2021-11-16T00:00:00.000000000', '2021-12-16T12:00:00.000000000',
                   '2022-01-16T12:00:00.000000000', '2022-02-15T00:00:00.000000000',
                   '2022-03-16T12:00:00.000000000', '2022-04-16T00:00:00.000000000',
                   '2022-05-16T12:00:00.000000000', '2022-06-16T00:00:00.000000000',
                   '2022-07-16T12:00:00.000000000', '2022-08-16T12:00:00.000000000',
                   '2022-09-16T00:00:00.000000000', '2022-10-16T12:00:00.000000000',
                   '2022-11-16T00:00:00.000000000'], dtype='datetime64[ns]')
          • lat
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • lon
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • latitude
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • longitude
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • month
            (time)
            int64
            1 2 3 4 5 6 7 8 ... 5 6 7 8 9 10 11
            array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,
                    7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,
                    1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,
                    7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,
                    1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12,  1,  2,  3,  4,  5,  6,
                    7,  8,  9, 10, 11])
          • time_bnds
            (time, bnds)
            datetime64[ns]
            ...
            [190 values with dtype=datetime64[ns]]
          • lat_bnds
            (time, lat, bnds)
            float64
            ...
            [18240 values with dtype=float64]
          • lon_bnds
            (time, lon, bnds)
            float64
            179.1 -179.1 -179.1 ... 177.2 179.1
            array([[[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
            ...
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]]])
          • ts
            (time, lat, lon)
            float32
            ...
            standard_name :
            surface_temperature
            long_name :
            Surface Temperature
            comment :
            Temperature of the lower boundary of the atmosphere
            units :
            K
            cell_methods :
            area: time: mean
            cell_measures :
            area: areacella
            history :
            2019-10-29T16:19:11Z altered by CMOR: replaced missing value flag (-9e+33) and corresponding data with standard missing value (1e+20). 2019-10-29T16:19:11Z altered by CMOR: Inverted axis: lat.
            [1751040 values with dtype=float32]
          • anomalies
            (time, lat, lon)
            float32
            nan nan nan ... -3.093 -3.144
            array([[[        nan,         nan,         nan, ...,  6.458557  ,
                      6.4065704 ,  6.4026184 ],
                    [        nan,         nan,         nan, ...,  4.305969  ,
                      4.4295807 ,  4.6160736 ],
                    [        nan,         nan,         nan, ...,  3.0411682 ,
                      3.023285  ,  2.9014587 ],
                    ...,
                    [        nan,         nan,         nan, ...,  3.9003448 ,
                      2.612259  ,  0.14163208],
                    [        nan,         nan,         nan, ...,  1.9947052 ,
                      2.4262238 ,  2.8803406 ],
                    [        nan,         nan,         nan, ...,  0.37298584,
                      0.32711792,  0.03367615]],
            
                   [[        nan,         nan,         nan, ...,  4.782791  ,
                      4.834015  ,  4.855957  ],
                    [        nan,         nan,         nan, ...,  2.3384552 ,
                      2.353775  ,  2.4083557 ],
                    [        nan,         nan,         nan, ...,  2.4082031 ,
                      2.4071045 ,  2.431549  ],
            ...
                    [        nan,         nan,         nan, ...,  4.7232513 ,
                      3.032486  ,  2.3839417 ],
                    [        nan,         nan,         nan, ..., -0.5425415 ,
                     -0.02937317,  0.18896484],
                    [        nan,         nan,         nan, ..., -5.7622833 ,
                     -5.8787384 , -6.0220795 ]],
            
                   [[        nan,         nan,         nan, ...,  6.3458405 ,
                      6.354645  ,  6.3834686 ],
                    [        nan,         nan,         nan, ...,  3.7071075 ,
                      3.7842255 ,  3.8045654 ],
                    [        nan,         nan,         nan, ...,  3.4908752 ,
                      3.6136627 ,  3.8057709 ],
                    ...,
                    [        nan,         nan,         nan, ...,  3.1165009 ,
                      1.8205261 ,  0.35604858],
                    [        nan,         nan,         nan, ...,  0.7024231 ,
                      0.9543152 ,  1.0640411 ],
                    [        nan,         nan,         nan, ..., -3.0342712 ,
                     -3.092987  , -3.1439362 ]]], dtype=float32)
          • time
            PandasIndex
            PandasIndex(DatetimeIndex(['2015-01-16 12:00:00', '2015-02-15 00:00:00',
                           '2015-03-16 12:00:00', '2015-04-16 00:00:00',
                           '2015-05-16 12:00:00', '2015-06-16 00:00:00',
                           '2015-07-16 12:00:00', '2015-08-16 12:00:00',
                           '2015-09-16 00:00:00', '2015-10-16 12:00:00',
                           '2015-11-16 00:00:00', '2015-12-16 12:00:00',
                           '2016-01-16 12:00:00', '2016-02-15 12:00:00',
                           '2016-03-16 12:00:00', '2016-04-16 00:00:00',
                           '2016-05-16 12:00:00', '2016-06-16 00:00:00',
                           '2016-07-16 12:00:00', '2016-08-16 12:00:00',
                           '2016-09-16 00:00:00', '2016-10-16 12:00:00',
                           '2016-11-16 00:00:00', '2016-12-16 12:00:00',
                           '2017-01-16 12:00:00', '2017-02-15 00:00:00',
                           '2017-03-16 12:00:00', '2017-04-16 00:00:00',
                           '2017-05-16 12:00:00', '2017-06-16 00:00:00',
                           '2017-07-16 12:00:00', '2017-08-16 12:00:00',
                           '2017-09-16 00:00:00', '2017-10-16 12:00:00',
                           '2017-11-16 00:00:00', '2017-12-16 12:00:00',
                           '2018-01-16 12:00:00', '2018-02-15 00:00:00',
                           '2018-03-16 12:00:00', '2018-04-16 00:00:00',
                           '2018-05-16 12:00:00', '2018-06-16 00:00:00',
                           '2018-07-16 12:00:00', '2018-08-16 12:00:00',
                           '2018-09-16 00:00:00', '2018-10-16 12:00:00',
                           '2018-11-16 00:00:00', '2018-12-16 12:00:00',
                           '2019-01-16 12:00:00', '2019-02-15 00:00:00',
                           '2019-03-16 12:00:00', '2019-04-16 00:00:00',
                           '2019-05-16 12:00:00', '2019-06-16 00:00:00',
                           '2019-07-16 12:00:00', '2019-08-16 12:00:00',
                           '2019-09-16 00:00:00', '2019-10-16 12:00:00',
                           '2019-11-16 00:00:00', '2019-12-16 12:00:00',
                           '2020-01-16 12:00:00', '2020-02-15 12:00:00',
                           '2020-03-16 12:00:00', '2020-04-16 00:00:00',
                           '2020-05-16 12:00:00', '2020-06-16 00:00:00',
                           '2020-07-16 12:00:00', '2020-08-16 12:00:00',
                           '2020-09-16 00:00:00', '2020-10-16 12:00:00',
                           '2020-11-16 00:00:00', '2020-12-16 12:00:00',
                           '2021-01-16 12:00:00', '2021-02-15 00:00:00',
                           '2021-03-16 12:00:00', '2021-04-16 00:00:00',
                           '2021-05-16 12:00:00', '2021-06-16 00:00:00',
                           '2021-07-16 12:00:00', '2021-08-16 12:00:00',
                           '2021-09-16 00:00:00', '2021-10-16 12:00:00',
                           '2021-11-16 00:00:00', '2021-12-16 12:00:00',
                           '2022-01-16 12:00:00', '2022-02-15 00:00:00',
                           '2022-03-16 12:00:00', '2022-04-16 00:00:00',
                           '2022-05-16 12:00:00', '2022-06-16 00:00:00',
                           '2022-07-16 12:00:00', '2022-08-16 12:00:00',
                           '2022-09-16 00:00:00', '2022-10-16 12:00:00',
                           '2022-11-16 00:00:00'],
                          dtype='datetime64[ns]', name='time', freq=None))
          • lat
            PandasIndex
            PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                     82.99894164283755,   81.13497683767741,   79.27055903485967,
                      77.4058880820788,   75.54106145287895,   73.67613231320912,
                     71.81113211427447,   69.94608064698343,   68.08099098565125,
                      66.2158721139987,   64.35073040887207,   62.48557052203639,
                     60.62039592682648,   58.75520926937993,   56.89001260135711,
                     55.02480753831166,   53.15959537001968,   51.29437713895115,
                     49.42915369712305,   47.56392574797867,  45.698693877701785,
                     43.83345857895126,   41.96822026907538,    40.1029793042494,
                     38.23773599056483,   36.37249059281224,   34.50724334150103,
                     32.64199443851768,   30.77674406172325,   28.91149236871774,
                     27.04623949994481,  25.180985581270594,   23.31573072614093,
                    21.450475037398185,   19.58521860882233,  17.719961526447428,
                    15.854703869694873,  13.989445712356673,  12.124187123455766,
                    10.258928168006376,   8.393668907692383,  6.5284094014799905,
                     4.663149706177884,   2.797889876956741,   0.932629967837991,
                    -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
                   -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
                   -12.124187123455766, -13.989445712356673, -15.854703869694873,
                   -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                    -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                    -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                    -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                     -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
                   -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                    -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                    -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                    -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                    -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                    -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                    -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                    -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
                  dtype='float64', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
                   -166.875,   -165.0, -163.125,
                   ...
                     161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                    174.375,   176.25,  178.125],
                  dtype='float64', name='lon', length=192))
        • Conventions :
          CF-1.7 CMIP-6.2
          activity_id :
          ScenarioMIP
          branch_method :
          standard
          branch_time_in_child :
          60265.0
          branch_time_in_parent :
          60265.0
          contact :
          cmip6-mpi-esm@dkrz.de
          creation_date :
          2019-10-29T16:19:11Z
          data_specs_version :
          01.00.30
          experiment :
          update of RCP2.6 based on SSP1
          experiment_id :
          ssp126
          external_variables :
          areacella
          forcing_index :
          1
          frequency :
          mon
          further_info_url :
          https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.ssp126.none.r1i1p1f1
          grid :
          gn
          grid_label :
          gn
          history :
          2019-10-29T16:19:11Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards.
          initialization_index :
          1
          institution :
          Max Planck Institute for Meteorology, Hamburg 20146, Germany
          institution_id :
          MPI-M
          mip_era :
          CMIP6
          nominal_resolution :
          250 km
          parent_activity_id :
          CMIP
          parent_experiment_id :
          historical
          parent_mip_era :
          CMIP6
          parent_source_id :
          MPI-ESM1-2-LR
          parent_time_units :
          days since 1850-1-1 00:00:00
          parent_variant_label :
          r1i1p1f1
          physics_index :
          1
          product :
          model-output
          project_id :
          CMIP6
          realization_index :
          1
          realm :
          atmos
          references :
          MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217
          source :
          MPI-ESM1.2-LR (2017): aerosol: none, prescribed MACv2-SP atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) atmosChem: none land: JSBACH3.20 landIce: none/prescribed ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) ocnBgchem: HAMOCC6 seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)
          source_id :
          MPI-ESM1-2-LR
          source_type :
          AOGCM
          sub_experiment :
          none
          sub_experiment_id :
          none
          table_id :
          Amon
          table_info :
          Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc
          title :
          MPI-ESM1-2-LR output prepared for CMIP6
          variable_id :
          ts
          variant_label :
          r1i1p1f1
          license :
          CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.
          cmor_version :
          3.5.0
          tracking_id :
          hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c

        Ora, entrambi i dataset presentano coordinate temporali allineate.

        InĀ [Ā ]:
        fig, axs = plt.subplots(1, 2, figsize=[12, 4], subplot_kw={'projection': ccrs.PlateCarree()})
        
        axs[0].coastlines()
        temp_near_aligned.t2m.mean(dim='time').plot.pcolormesh(ax=axs[0], cmap='coolwarm')
        axs[0].set_title("ERA5 Mean Temperature 2015-2023", fontsize=10)
        
        axs[1].coastlines()
        
        model_aligned.ts.mean(dim='time').plot.pcolormesh(ax=axs[1], cmap='coolwarm')
        axs[1].set_title("MPI-ESM1-2-LR Mean Temperature 2015-2023", fontsize=10)
        
        plt.tight_layout()
        
        plt.show()
        
        No description has been provided for this image

        Nel confronto tra i dati reali di ERA5 e le simulazioni del modello MPI-ESM1-2-LR, noto che la media delle temperature effettive risulta essere più elevata rispetto alle previsioni del modello nello stesso periodo (2015-2023). Analizzare attentamente queste differenze è fondamentale per comprendere le possibili variazioni nei parametri del modello o altre influenze che possono contribuire a queste disparità e valutare la robustezza delle simulazioni climatiche.

        InĀ [Ā ]:
        temp_near_aligned.mean(['lat', 'lon']).t2m.plot(label='ERA5 Surface Temperature')
        model_aligned.mean(['lat', 'lon']).ts.plot(label='MPI-ESM1-2-LR Surface Temperature')
        plt.xlabel('Year')
        plt.ylabel('Temperature (K)')
        plt.legend()
        plt.title('Surface Temperature (K) from 2015 to 2022 Observations vs Simulation')
        
        Out[Ā ]:
        Text(0.5, 1.0, 'Surface Temperature (K) from 2015 to 2022 Observations vs Simulation')
        No description has been provided for this image

        Test se le Differenze sono Statisticamente Significative¶

        Per verificare se la differenza ĆØ statisticamente significativa, utilizzo un test statistico come il t-test di Student.

        InĀ [Ā ]:
        # Calculate the mean over latitude and longitude
        mean_obs = temp_near_aligned.mean(['lat', 'lon']).t2m
        mean_model = model_aligned.mean(['lat', 'lon']).ts
        
        InĀ [Ā ]:
        # Perform a two-sample t-test
        t_stat, p_value = stats.ttest_rel(mean_obs, mean_model)
        
        # Check the p-value to determine significance
        alpha = 0.05
        if p_value < alpha:
            print("The difference is statistically significant (p-value: {:.4f})".format(p_value))
        else:
            print("The difference is not statistically significant (p-value: {:.4f})".format(p_value))
        
        The difference is statistically significant (p-value: 0.0000)
        

        Il test statistico è stato condotto per confrontare le temperature medie derivate dalle osservazioni di ERA5 e dalla simulazione del modello MPI-ESM1-2-LR. Il termine "differenza" si riferisce al contrasto tra questi due set di dati. Il test statistico tiene conto della variabilità delle temperature nello spazio. Un valore p di 0,0000 indica una forte significatività statistica, supportando l'idea che la differenza osservata tra le temperature della superficie nelle osservazioni e nelle simulazioni non è probabilmente dovuta al caso. Vi è una robusta evidenza statistica di divergenza tra le temperature osservate e quelle simulate. Nel contesto della temperatura, ciò potrebbe significare che ci sono aree o periodi in cui le temperature simulate si discostano significativamente dalle temperature osservate.

        Sebbene la significativitĆ  statistica sia importante, ĆØ altrettanto utile valutare la significativitĆ  pratica delle differenze. Le variazioni sono abbastanza ampie da avere implicazioni significative per gli studi climatici o le applicazioni?

        Operazione Temporale¶

        Anomalie rispetto alle Normali + Analisi Statistica: Test t¶

        L'analisi delle anomalie nei dati geospaziali comporta la valutazione delle deviazioni rispetto a una linea di base o climatologia. Nel contesto dei dati di temperatura, le anomalie rappresentano la deviazione dei singoli valori di temperatura dalla media a lungo termine o dalle normali.

        Le normali climatiche fungono da punto di riferimento con cui ĆØ possibile confrontare le osservazioni recenti o attuali, fornendo una base per molti dataset climatici basati sul concetto di anomalie.

        Il periodo dal 1961 al 1990 ĆØ stato mantenuto come periodo di riferimento standard per valutazioni a lungo termine dei cambiamenti climatici (Linee guida dell'OMM sul Calcolo delle Normali Climatiche - edizione 2017).

        InĀ [Ā ]:
        # Define reference period
        yref0 = 1961
        yref1 = 1990
        
        InĀ [Ā ]:
        # Compute normals on ERA5 dataset
        normals = temp_near.sel({'time': slice(str(yref0), str(yref1))}).groupby('time.month').mean()
        normals
        
        Out[Ā ]:
        <xarray.Dataset>
        Dimensions:    (month: 12, lat: 96, lon: 192)
        Coordinates:
            latitude   (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
            longitude  (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
          * lat        (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
          * lon        (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
          * month      (month) int64 1 2 3 4 5 6 7 8 9 10 11 12
        Data variables:
            t2m        (month, lat, lon) float32 nan nan nan nan ... 242.9 242.9 242.9
        Attributes:
            Conventions:  CF-1.6
            history:      2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
        xarray.Dataset
          • month: 12
          • lat: 96
          • lon: 192
          • latitude
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • longitude
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • lat
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • lon
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • month
            (month)
            int64
            1 2 3 4 5 6 7 8 9 10 11 12
            array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])
          • t2m
            (month, lat, lon)
            float32
            nan nan nan ... 242.9 242.9 242.9
            units :
            K
            long_name :
            2 metre temperature
            array([[[      nan,       nan,       nan, ..., 245.24396, 245.25102,
                     245.25693],
                    [      nan,       nan,       nan, ..., 245.31647, 245.27293,
                     245.24074],
                    [      nan,       nan,       nan, ..., 245.36447, 245.3511 ,
                     245.31473],
                    ...,
                    [      nan,       nan,       nan, ..., 253.05217, 255.059  ,
                     257.6898 ],
                    [      nan,       nan,       nan, ..., 246.4168 , 246.47746,
                     246.53506],
                    [      nan,       nan,       nan, ..., 243.12836, 243.14297,
                     243.15517]],
            
                   [[      nan,       nan,       nan, ..., 244.76126, 244.76277,
                     244.76427],
                    [      nan,       nan,       nan, ..., 244.49075, 244.47153,
                     244.45796],
                    [      nan,       nan,       nan, ..., 244.43468, 244.43187,
                     244.40938],
            ...
                    [      nan,       nan,       nan, ..., 247.14801, 249.24477,
                     251.37917],
                    [      nan,       nan,       nan, ..., 240.15584, 240.23988,
                     240.3157 ],
                    [      nan,       nan,       nan, ..., 235.4023 , 235.41609,
                     235.42603]],
            
                   [[      nan,       nan,       nan, ..., 246.5467 , 246.53656,
                     246.52762],
                    [      nan,       nan,       nan, ..., 246.63934, 246.57788,
                     246.52965],
                    [      nan,       nan,       nan, ..., 246.73978, 246.68625,
                     246.58885],
                    ...,
                    [      nan,       nan,       nan, ..., 252.21048, 254.2314 ,
                     256.90424],
                    [      nan,       nan,       nan, ..., 246.05391, 246.08214,
                     246.11467],
                    [      nan,       nan,       nan, ..., 242.85275, 242.86429,
                     242.87392]]], dtype=float32)
          • lat
            PandasIndex
            PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                     82.99894164283755,   81.13497683767741,   79.27055903485967,
                      77.4058880820788,   75.54106145287895,   73.67613231320912,
                     71.81113211427447,   69.94608064698343,   68.08099098565125,
                      66.2158721139987,   64.35073040887207,   62.48557052203639,
                     60.62039592682648,   58.75520926937993,   56.89001260135711,
                     55.02480753831166,   53.15959537001968,   51.29437713895115,
                     49.42915369712305,   47.56392574797867,  45.698693877701785,
                     43.83345857895126,   41.96822026907538,    40.1029793042494,
                     38.23773599056483,   36.37249059281224,   34.50724334150103,
                     32.64199443851768,   30.77674406172325,   28.91149236871774,
                     27.04623949994481,  25.180985581270594,   23.31573072614093,
                    21.450475037398185,   19.58521860882233,  17.719961526447428,
                    15.854703869694873,  13.989445712356673,  12.124187123455766,
                    10.258928168006376,   8.393668907692383,  6.5284094014799905,
                     4.663149706177884,   2.797889876956741,   0.932629967837991,
                    -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
                   -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
                   -12.124187123455766, -13.989445712356673, -15.854703869694873,
                   -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                    -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                    -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                    -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                     -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
                   -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                    -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                    -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                    -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                    -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                    -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                    -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                    -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
                  dtype='float64', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
                   -166.875,   -165.0, -163.125,
                   ...
                     161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                    174.375,   176.25,  178.125],
                  dtype='float64', name='lon', length=192))
          • month
            PandasIndex
            PandasIndex(Index([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], dtype='int64', name='month'))
        • Conventions :
          CF-1.6
          history :
          2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib
        InĀ [Ā ]:
        # Plot the normals for every month
        month = 1
        f, ax = plt.subplots(4, 3, figsize=(10, 10))
        
        for i in ax:
            for j in i:
                normals.sel({'month': month}).t2m.plot(ax=j, add_colorbar=False, cmap='coolwarm')
                j.set_title(f"Month: {month}")
                month += 1
        
        plt.tight_layout()
        
        No description has been provided for this image
        InĀ [Ā ]:
        # Compute ERA5 and Model anomalies
        temp_near['anomalies'] = (temp_near.groupby('time.month') - normals).t2m
        model['anomalies'] = (model.ts.groupby('time.month') -normals).t2m
        
        InĀ [Ā ]:
        temp_near
        
        Out[Ā ]:
        <xarray.Dataset>
        Dimensions:         (time: 876, lat: 96, lon: 192)
        Coordinates:
          * time            (time) datetime64[ns] 1950-01-01 1950-02-01 ... 2022-12-01
            latitude        (lat) float64 88.57 86.72 84.86 ... -84.86 -86.72 -88.57
            longitude       (lon) float64 -180.0 -178.1 -176.2 ... 174.4 176.2 178.1
          * lat             (lat) float64 88.57 86.72 84.86 ... -84.86 -86.72 -88.57
          * lon             (lon) float64 -180.0 -178.1 -176.2 ... 174.4 176.2 178.1
            month           (time) int64 1 2 3 4 5 6 7 8 9 10 ... 3 4 5 6 7 8 9 10 11 12
        Data variables:
            t2m             (time, lat, lon) float32 241.7 241.7 241.6 ... 243.8 243.8
            longitude_bnds  (lon) float32 -180.0 -178.2 -176.2 ... 174.2 176.2 178.0
            anomalies       (time, lat, lon) float32 -3.581 -3.606 ... 0.9665 0.9411
        Attributes:
            Conventions:  CF-1.6
            history:      2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...
        xarray.Dataset
          • time: 876
          • lat: 96
          • lon: 192
          • time
            (time)
            datetime64[ns]
            1950-01-01 ... 2022-12-01
            long_name :
            time
            array(['1950-01-01T00:00:00.000000000', '1950-02-01T00:00:00.000000000',
                   '1950-03-01T00:00:00.000000000', ..., '2022-10-01T00:00:00.000000000',
                   '2022-11-01T00:00:00.000000000', '2022-12-01T00:00:00.000000000'],
                  dtype='datetime64[ns]')
          • latitude
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • longitude
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • lat
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • lon
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • month
            (time)
            int64
            1 2 3 4 5 6 7 ... 6 7 8 9 10 11 12
            array([ 1,  2,  3, ..., 10, 11, 12])
          • t2m
            (time, lat, lon)
            float32
            241.7 241.7 241.6 ... 243.8 243.8
            units :
            K
            long_name :
            2 metre temperature
            array([[[241.68086, 241.65585, 241.61118, ..., 241.73448, 241.7184 ,
                     241.70589],
                    [242.32603, 242.27779, 242.2063 , ..., 242.59412, 242.47258,
                     242.3743 ],
                    [243.53595, 243.53773, 243.55025, ..., 243.68608, 243.63603,
                     243.56276],
                    ...,
                    [256.60196, 256.37857, 258.28906, ..., 251.916  , 253.88547,
                     256.53763],
                    [246.07373, 246.26675, 246.65814, ..., 245.63588, 245.75383,
                     245.85928],
                    [242.83539, 242.88007, 242.89258, ..., 242.73709, 242.7639 ,
                     242.78534]],
            
                   [[239.4183 , 239.43439, 239.43439, ..., 239.3647 , 239.38257,
                     239.39865],
                    [239.31287, 239.3647 , 239.45406, ..., 239.21457, 239.22708,
                     239.24495],
                    [239.69174, 239.76682, 239.84009, ..., 239.67209, 239.66136,
                     239.63992],
            ...
                    [250.05316, 249.99498, 252.23424, ..., 245.09857, 247.33607,
                     249.86626],
                    [239.31352, 239.5445 , 239.94475, ..., 238.91504, 238.98734,
                     239.05962],
                    [234.49998, 234.5282 , 234.5335 , ..., 234.4559 , 234.46472,
                     234.47177]],
            
                   [[248.37283, 248.34639, 248.2882 , ..., 248.46628, 248.42926,
                     248.39752],
                    [247.80331, 247.77687, 247.72044, ..., 247.94614, 247.87914,
                     247.828  ],
                    [250.05316, 250.03377, 249.92444, ..., 250.02142, 250.03552,
                     250.04964],
                    ...,
                    [258.2591 , 258.43893, 260.18097, ..., 252.52869, 254.57928,
                     257.54675],
                    [246.91467, 247.03456, 247.33255, ..., 246.8988 , 246.84238,
                     246.7983 ],
                    [243.83083, 243.84846, 243.82907, ..., 243.8467 , 243.83083,
                     243.81497]]], dtype=float32)
          • longitude_bnds
            (lon)
            float32
            -180.0 -178.2 ... 176.2 178.0
            array([-180.  , -178.25, -176.25, -174.5 , -172.5 , -170.75, -168.75,
                   -167.  , -165.  , -163.25, -161.25, -159.5 , -157.5 , -155.75,
                   -153.75, -152.  , -150.  , -148.25, -146.25, -144.5 , -142.5 ,
                   -140.75, -138.75, -137.  , -135.  , -133.25, -131.25, -129.5 ,
                   -127.5 , -125.75, -123.75, -122.  , -120.  , -118.25, -116.25,
                   -114.5 , -112.5 , -110.75, -108.75, -107.  , -105.  , -103.25,
                   -101.25,  -99.5 ,  -97.5 ,  -95.75,  -93.75,  -92.  ,  -90.  ,
                    -88.25,  -86.25,  -84.5 ,  -82.5 ,  -80.75,  -78.75,  -77.  ,
                    -75.  ,  -73.25,  -71.25,  -69.5 ,  -67.5 ,  -65.75,  -63.75,
                    -62.  ,  -60.  ,  -58.25,  -56.25,  -54.5 ,  -52.5 ,  -50.75,
                    -48.75,  -47.  ,  -45.  ,  -43.25,  -41.25,  -39.5 ,  -37.5 ,
                    -35.75,  -33.75,  -32.  ,  -30.  ,  -28.25,  -26.25,  -24.5 ,
                    -22.5 ,  -20.75,  -18.75,  -17.  ,  -15.  ,  -13.25,  -11.25,
                     -9.5 ,   -7.5 ,   -5.75,   -3.75,   -2.  ,    0.  ,    1.75,
                      3.75,    5.5 ,    7.5 ,    9.25,   11.25,   13.  ,   15.  ,
                     16.75,   18.75,   20.5 ,   22.5 ,   24.25,   26.25,   28.  ,
                     30.  ,   31.75,   33.75,   35.5 ,   37.5 ,   39.25,   41.25,
                     43.  ,   45.  ,   46.75,   48.75,   50.5 ,   52.5 ,   54.25,
                     56.25,   58.  ,   60.  ,   61.75,   63.75,   65.5 ,   67.5 ,
                     69.25,   71.25,   73.  ,   75.  ,   76.75,   78.75,   80.5 ,
                     82.5 ,   84.25,   86.25,   88.  ,   90.  ,   91.75,   93.75,
                     95.5 ,   97.5 ,   99.25,  101.25,  103.  ,  105.  ,  106.75,
                    108.75,  110.5 ,  112.5 ,  114.25,  116.25,  118.  ,  120.  ,
                    121.75,  123.75,  125.5 ,  127.5 ,  129.25,  131.25,  133.  ,
                    135.  ,  136.75,  138.75,  140.5 ,  142.5 ,  144.25,  146.25,
                    148.  ,  150.  ,  151.75,  153.75,  155.5 ,  157.5 ,  159.25,
                    161.25,  163.  ,  165.  ,  166.75,  168.75,  170.5 ,  172.5 ,
                    174.25,  176.25,  178.  ], dtype=float32)
          • anomalies
            (time, lat, lon)
            float32
            -3.581 -3.606 ... 0.9665 0.9411
            array([[[-3.5807953 , -3.606247  , -3.6315155 , ..., -3.5094757 ,
                     -3.5326233 , -3.5510406 ],
                    [-2.9181976 , -2.9663544 , -3.0246735 , ..., -2.722351  ,
                     -2.800354  , -2.8664398 ],
                    [-1.7914429 , -1.8233948 , -1.8577881 , ..., -1.6783905 ,
                     -1.7150726 , -1.7519684 ],
                    ...,
                    [-1.4256897 , -1.6418152 , -1.6420898 , ..., -1.1361694 ,
                     -1.1735382 , -1.1521606 ],
                    [-0.66308594, -0.6538086 , -0.6287384 , ..., -0.7809143 ,
                     -0.7236328 , -0.67578125],
                    [-0.35758972, -0.3484497 , -0.34996033, ..., -0.39126587,
                     -0.3790741 , -0.36982727]],
            
                   [[-5.3468475 , -5.328064  , -5.305023  , ..., -5.3965607 ,
                     -5.3802032 , -5.365616  ],
                    [-5.1510925 , -5.101349  , -5.0160217 , ..., -5.276184  ,
                     -5.244446  , -5.2130127 ],
                    [-4.7355194 , -4.6888123 , -4.5975037 , ..., -4.7625885 ,
                     -4.770508  , -4.769455  ],
            ...
                    [-1.288681  , -1.1492767 , -1.0644531 , ..., -2.0494385 ,
                     -1.9086914 , -1.5129089 ],
                    [-1.2130432 , -1.1712494 , -1.1389923 , ..., -1.240799  ,
                     -1.2525482 , -1.2560883 ],
                    [-0.9554138 , -0.9547577 , -0.9601135 , ..., -0.9463959 ,
                     -0.95137024, -0.95425415]],
            
                   [[ 1.8542023 ,  1.8381195 ,  1.8059998 , ...,  1.9195709 ,
                      1.8927002 ,  1.8699036 ],
                    [ 1.286087  ,  1.2715454 ,  1.2343903 , ...,  1.3067932 ,
                      1.3012543 ,  1.2983551 ],
                    [ 3.5224152 ,  3.5350342 ,  3.4506073 , ...,  3.2816467 ,
                      3.3492737 ,  3.460785  ],
                    ...,
                    [ 0.8868103 ,  0.9948425 ,  0.7913513 , ...,  0.3182068 ,
                      0.34788513,  0.6425171 ],
                    [ 0.6062317 ,  0.5470276 ,  0.4875641 , ...,  0.8448944 ,
                      0.76023865,  0.68362427],
                    [ 0.9167023 ,  0.8958435 ,  0.8670807 , ...,  0.99394226,
                      0.9665375 ,  0.9410553 ]]], dtype=float32)
          • time
            PandasIndex
            PandasIndex(DatetimeIndex(['1950-01-01', '1950-02-01', '1950-03-01', '1950-04-01',
                           '1950-05-01', '1950-06-01', '1950-07-01', '1950-08-01',
                           '1950-09-01', '1950-10-01',
                           ...
                           '2022-03-01', '2022-04-01', '2022-05-01', '2022-06-01',
                           '2022-07-01', '2022-08-01', '2022-09-01', '2022-10-01',
                           '2022-11-01', '2022-12-01'],
                          dtype='datetime64[ns]', name='time', length=876, freq=None))
          • lat
            PandasIndex
            PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                     82.99894164283755,   81.13497683767741,   79.27055903485967,
                      77.4058880820788,   75.54106145287895,   73.67613231320912,
                     71.81113211427447,   69.94608064698343,   68.08099098565125,
                      66.2158721139987,   64.35073040887207,   62.48557052203639,
                     60.62039592682648,   58.75520926937993,   56.89001260135711,
                     55.02480753831166,   53.15959537001968,   51.29437713895115,
                     49.42915369712305,   47.56392574797867,  45.698693877701785,
                     43.83345857895126,   41.96822026907538,    40.1029793042494,
                     38.23773599056483,   36.37249059281224,   34.50724334150103,
                     32.64199443851768,   30.77674406172325,   28.91149236871774,
                     27.04623949994481,  25.180985581270594,   23.31573072614093,
                    21.450475037398185,   19.58521860882233,  17.719961526447428,
                    15.854703869694873,  13.989445712356673,  12.124187123455766,
                    10.258928168006376,   8.393668907692383,  6.5284094014799905,
                     4.663149706177884,   2.797889876956741,   0.932629967837991,
                    -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
                   -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
                   -12.124187123455766, -13.989445712356673, -15.854703869694873,
                   -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                    -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                    -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                    -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                     -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
                   -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                    -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                    -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                    -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                    -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                    -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                    -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                    -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
                  dtype='float64', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
                   -166.875,   -165.0, -163.125,
                   ...
                     161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                    174.375,   176.25,  178.125],
                  dtype='float64', name='lon', length=192))
        • Conventions :
          CF-1.6
          history :
          2023-12-06 15:35:43 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data6/adaptor.mars.internal-1701876927.5603483-31998-9-b7c970fe-2f51-4d29-a310-d353ee49ca37.nc /cache/tmp/b7c970fe-2f51-4d29-a310-d353ee49ca37-adaptor.mars.internal-1701876809.7885528-31998-16-tmp.grib
        InĀ [Ā ]:
        model
        
        Out[Ā ]:
        <xarray.Dataset>
        Dimensions:    (time: 432, bnds: 2, lat: 96, lon: 192)
        Coordinates:
          * time       (time) datetime64[ns] 2015-01-16T12:00:00 ... 2050-12-16T12:00:00
          * lat        (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
          * lon        (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
            latitude   (lat) float64 88.57 86.72 84.86 83.0 ... -84.86 -86.72 -88.57
            longitude  (lon) float64 -180.0 -178.1 -176.2 -174.4 ... 174.4 176.2 178.1
            month      (time) int64 1 2 3 4 5 6 7 8 9 10 11 ... 2 3 4 5 6 7 8 9 10 11 12
        Dimensions without coordinates: bnds
        Data variables:
            time_bnds  (time, bnds) datetime64[ns] ...
            lat_bnds   (time, lat, bnds) float64 ...
            lon_bnds   (time, lon, bnds) float64 179.1 -179.1 -179.1 ... 177.2 179.1
            ts         (time, lat, lon) float32 ...
            anomalies  (time, lat, lon) float32 6.39 6.343 6.362 ... -3.474 -3.41 -3.47
        Attributes: (12/47)
            Conventions:            CF-1.7 CMIP-6.2
            activity_id:            ScenarioMIP
            branch_method:          standard
            branch_time_in_child:   60265.0
            branch_time_in_parent:  60265.0
            contact:                cmip6-mpi-esm@dkrz.de
            ...                     ...
            title:                  MPI-ESM1-2-LR output prepared for CMIP6
            variable_id:            ts
            variant_label:          r1i1p1f1
            license:                CMIP6 model data produced by MPI-M is licensed un...
            cmor_version:           3.5.0
            tracking_id:            hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
        xarray.Dataset
          • time: 432
          • bnds: 2
          • lat: 96
          • lon: 192
          • time
            (time)
            datetime64[ns]
            2015-01-16T12:00:00 ... 2050-12-...
            bounds :
            time_bnds
            axis :
            T
            long_name :
            time
            standard_name :
            time
            array(['2015-01-16T12:00:00.000000000', '2015-02-15T00:00:00.000000000',
                   '2015-03-16T12:00:00.000000000', ..., '2050-10-16T12:00:00.000000000',
                   '2050-11-16T00:00:00.000000000', '2050-12-16T12:00:00.000000000'],
                  dtype='datetime64[ns]')
          • lat
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • lon
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • latitude
            (lat)
            float64
            88.57 86.72 84.86 ... -86.72 -88.57
            bounds :
            lat_bnds
            units :
            degrees_north
            axis :
            Y
            long_name :
            Latitude
            standard_name :
            latitude
            array([ 88.572169,  86.722531,  84.86197 ,  82.998942,  81.134977,  79.270559,
                    77.405888,  75.541061,  73.676132,  71.811132,  69.946081,  68.080991,
                    66.215872,  64.35073 ,  62.485571,  60.620396,  58.755209,  56.890013,
                    55.024808,  53.159595,  51.294377,  49.429154,  47.563926,  45.698694,
                    43.833459,  41.96822 ,  40.102979,  38.237736,  36.372491,  34.507243,
                    32.641994,  30.776744,  28.911492,  27.046239,  25.180986,  23.315731,
                    21.450475,  19.585219,  17.719962,  15.854704,  13.989446,  12.124187,
                    10.258928,   8.393669,   6.528409,   4.66315 ,   2.79789 ,   0.93263 ,
                    -0.93263 ,  -2.79789 ,  -4.66315 ,  -6.528409,  -8.393669, -10.258928,
                   -12.124187, -13.989446, -15.854704, -17.719962, -19.585219, -21.450475,
                   -23.315731, -25.180986, -27.046239, -28.911492, -30.776744, -32.641994,
                   -34.507243, -36.372491, -38.237736, -40.102979, -41.96822 , -43.833459,
                   -45.698694, -47.563926, -49.429154, -51.294377, -53.159595, -55.024808,
                   -56.890013, -58.755209, -60.620396, -62.485571, -64.35073 , -66.215872,
                   -68.080991, -69.946081, -71.811132, -73.676132, -75.541061, -77.405888,
                   -79.270559, -81.134977, -82.998942, -84.86197 , -86.722531, -88.572169])
          • longitude
            (lon)
            float64
            -180.0 -178.1 ... 176.2 178.1
            array([-180.   , -178.125, -176.25 , -174.375, -172.5  , -170.625, -168.75 ,
                   -166.875, -165.   , -163.125, -161.25 , -159.375, -157.5  , -155.625,
                   -153.75 , -151.875, -150.   , -148.125, -146.25 , -144.375, -142.5  ,
                   -140.625, -138.75 , -136.875, -135.   , -133.125, -131.25 , -129.375,
                   -127.5  , -125.625, -123.75 , -121.875, -120.   , -118.125, -116.25 ,
                   -114.375, -112.5  , -110.625, -108.75 , -106.875, -105.   , -103.125,
                   -101.25 ,  -99.375,  -97.5  ,  -95.625,  -93.75 ,  -91.875,  -90.   ,
                    -88.125,  -86.25 ,  -84.375,  -82.5  ,  -80.625,  -78.75 ,  -76.875,
                    -75.   ,  -73.125,  -71.25 ,  -69.375,  -67.5  ,  -65.625,  -63.75 ,
                    -61.875,  -60.   ,  -58.125,  -56.25 ,  -54.375,  -52.5  ,  -50.625,
                    -48.75 ,  -46.875,  -45.   ,  -43.125,  -41.25 ,  -39.375,  -37.5  ,
                    -35.625,  -33.75 ,  -31.875,  -30.   ,  -28.125,  -26.25 ,  -24.375,
                    -22.5  ,  -20.625,  -18.75 ,  -16.875,  -15.   ,  -13.125,  -11.25 ,
                     -9.375,   -7.5  ,   -5.625,   -3.75 ,   -1.875,    0.   ,    1.875,
                      3.75 ,    5.625,    7.5  ,    9.375,   11.25 ,   13.125,   15.   ,
                     16.875,   18.75 ,   20.625,   22.5  ,   24.375,   26.25 ,   28.125,
                     30.   ,   31.875,   33.75 ,   35.625,   37.5  ,   39.375,   41.25 ,
                     43.125,   45.   ,   46.875,   48.75 ,   50.625,   52.5  ,   54.375,
                     56.25 ,   58.125,   60.   ,   61.875,   63.75 ,   65.625,   67.5  ,
                     69.375,   71.25 ,   73.125,   75.   ,   76.875,   78.75 ,   80.625,
                     82.5  ,   84.375,   86.25 ,   88.125,   90.   ,   91.875,   93.75 ,
                     95.625,   97.5  ,   99.375,  101.25 ,  103.125,  105.   ,  106.875,
                    108.75 ,  110.625,  112.5  ,  114.375,  116.25 ,  118.125,  120.   ,
                    121.875,  123.75 ,  125.625,  127.5  ,  129.375,  131.25 ,  133.125,
                    135.   ,  136.875,  138.75 ,  140.625,  142.5  ,  144.375,  146.25 ,
                    148.125,  150.   ,  151.875,  153.75 ,  155.625,  157.5  ,  159.375,
                    161.25 ,  163.125,  165.   ,  166.875,  168.75 ,  170.625,  172.5  ,
                    174.375,  176.25 ,  178.125])
          • month
            (time)
            int64
            1 2 3 4 5 6 7 ... 6 7 8 9 10 11 12
            array([ 1,  2,  3, ..., 10, 11, 12])
          • time_bnds
            (time, bnds)
            datetime64[ns]
            ...
            [864 values with dtype=datetime64[ns]]
          • lat_bnds
            (time, lat, bnds)
            float64
            ...
            [82944 values with dtype=float64]
          • lon_bnds
            (time, lon, bnds)
            float64
            179.1 -179.1 -179.1 ... 177.2 179.1
            array([[[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
            ...
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]],
            
                   [[ 179.0625, -179.0625],
                    [-179.0625, -177.1875],
                    [-177.1875, -175.3125],
                    ...,
                    [ 173.4375,  175.3125],
                    [ 175.3125,  177.1875],
                    [ 177.1875,  179.0625]]])
          • ts
            (time, lat, lon)
            float32
            ...
            standard_name :
            surface_temperature
            long_name :
            Surface Temperature
            comment :
            Temperature of the lower boundary of the atmosphere
            units :
            K
            cell_methods :
            area: time: mean
            cell_measures :
            area: areacella
            history :
            2019-10-29T16:19:11Z altered by CMOR: replaced missing value flag (-9e+33) and corresponding data with standard missing value (1e+20). 2019-10-29T16:19:11Z altered by CMOR: Inverted axis: lat.
            [7962624 values with dtype=float32]
          • anomalies
            (time, lat, lon)
            float32
            6.39 6.343 6.362 ... -3.41 -3.47
            array([[[ 6.3900757 ,  6.342758  ,  6.3621674 , ...,  6.458557  ,
                      6.4065704 ,  6.4026184 ],
                    [ 4.5969543 ,  4.4622803 ,  4.4461517 , ...,  4.305969  ,
                      4.4295807 ,  4.6160736 ],
                    [ 2.812622  ,  3.0210724 ,  2.8628387 , ...,  3.0411682 ,
                      3.023285  ,  2.9014587 ],
                    ...,
                    [ 0.37408447,  0.73291016, -0.71691895, ...,  3.9003448 ,
                      2.612259  ,  0.14163208],
                    [ 2.88562   ,  2.7448425 ,  2.5972748 , ...,  1.9947052 ,
                      2.4262238 ,  2.8803406 ],
                    [ 0.01344299, -0.02990723, -0.06736755, ...,  0.37298584,
                      0.32711792,  0.03367615]],
            
                   [[ 4.8492126 ,  4.904648  ,  4.906204  , ...,  4.782791  ,
                      4.834015  ,  4.855957  ],
                    [ 2.4062653 ,  2.4354248 ,  2.6071777 , ...,  2.3384552 ,
                      2.353775  ,  2.4083557 ],
                    [ 2.3335876 ,  2.3520966 ,  2.2881012 , ...,  2.4082031 ,
                      2.4071045 ,  2.431549  ],
            ...
                    [ 0.6920471 ,  1.2568207 , -0.49331665, ...,  3.8370514 ,
                      2.171936  ,  0.47894287],
                    [ 1.1518555 ,  1.5154114 ,  1.5751495 , ...,  0.09875488,
                      0.35455322,  0.9564667 ],
                    [-6.0250244 , -6.027191  , -6.0163574 , ..., -5.989502  ,
                     -5.9661865 , -6.1362762 ]],
            
                   [[ 0.8031769 ,  0.788147  ,  0.83961487, ...,  0.8844757 ,
                      0.9082947 ,  0.8430176 ],
                    [ 3.169815  ,  3.2227325 ,  3.1130981 , ...,  3.0828552 ,
                      3.1404114 ,  3.1280975 ],
                    [ 3.9805145 ,  3.8621368 ,  3.742508  , ...,  3.8710938 ,
                      3.8640747 ,  3.9575653 ],
                    ...,
                    [ 2.4631958 ,  2.9011536 ,  1.3814087 , ...,  5.7871094 ,
                      4.287674  ,  2.1597595 ],
                    [ 3.3434448 ,  3.8381805 ,  3.8928375 , ...,  2.4573517 ,
                      3.0677948 ,  3.3829193 ],
                    [-3.4770813 , -3.5976105 , -3.5405731 , ..., -3.4743042 ,
                     -3.409668  , -3.4700775 ]]], dtype=float32)
          • time
            PandasIndex
            PandasIndex(DatetimeIndex(['2015-01-16 12:00:00', '2015-02-15 00:00:00',
                           '2015-03-16 12:00:00', '2015-04-16 00:00:00',
                           '2015-05-16 12:00:00', '2015-06-16 00:00:00',
                           '2015-07-16 12:00:00', '2015-08-16 12:00:00',
                           '2015-09-16 00:00:00', '2015-10-16 12:00:00',
                           ...
                           '2050-03-16 12:00:00', '2050-04-16 00:00:00',
                           '2050-05-16 12:00:00', '2050-06-16 00:00:00',
                           '2050-07-16 12:00:00', '2050-08-16 12:00:00',
                           '2050-09-16 00:00:00', '2050-10-16 12:00:00',
                           '2050-11-16 00:00:00', '2050-12-16 12:00:00'],
                          dtype='datetime64[ns]', name='time', length=432, freq=None))
          • lat
            PandasIndex
            PandasIndex(Index([  88.57216851400727,   86.72253095466814,   84.86197029204237,
                     82.99894164283755,   81.13497683767741,   79.27055903485967,
                      77.4058880820788,   75.54106145287895,   73.67613231320912,
                     71.81113211427447,   69.94608064698343,   68.08099098565125,
                      66.2158721139987,   64.35073040887207,   62.48557052203639,
                     60.62039592682648,   58.75520926937993,   56.89001260135711,
                     55.02480753831166,   53.15959537001968,   51.29437713895115,
                     49.42915369712305,   47.56392574797867,  45.698693877701785,
                     43.83345857895126,   41.96822026907538,    40.1029793042494,
                     38.23773599056483,   36.37249059281224,   34.50724334150103,
                     32.64199443851768,   30.77674406172325,   28.91149236871774,
                     27.04623949994481,  25.180985581270594,   23.31573072614093,
                    21.450475037398185,   19.58521860882233,  17.719961526447428,
                    15.854703869694873,  13.989445712356673,  12.124187123455766,
                    10.258928168006376,   8.393668907692383,  6.5284094014799905,
                     4.663149706177884,   2.797889876956741,   0.932629967837991,
                    -0.932629967837991,  -2.797889876956741,  -4.663149706177884,
                   -6.5284094014799905,  -8.393668907692383, -10.258928168006376,
                   -12.124187123455766, -13.989445712356673, -15.854703869694873,
                   -17.719961526447428,  -19.58521860882233, -21.450475037398185,
                    -23.31573072614093, -25.180985581270594,  -27.04623949994481,
                    -28.91149236871774,  -30.77674406172325,  -32.64199443851768,
                    -34.50724334150103,  -36.37249059281224,  -38.23773599056483,
                     -40.1029793042494,  -41.96822026907538,  -43.83345857895126,
                   -45.698693877701785,  -47.56392574797867,  -49.42915369712305,
                    -51.29437713895115,  -53.15959537001968,  -55.02480753831166,
                    -56.89001260135711,  -58.75520926937993,  -60.62039592682648,
                    -62.48557052203639,  -64.35073040887207,   -66.2158721139987,
                    -68.08099098565125,  -69.94608064698343,  -71.81113211427447,
                    -73.67613231320912,  -75.54106145287895,   -77.4058880820788,
                    -79.27055903485967,  -81.13497683767741,  -82.99894164283755,
                    -84.86197029204237,  -86.72253095466814,  -88.57216851400727],
                  dtype='float64', name='lat'))
          • lon
            PandasIndex
            PandasIndex(Index([  -180.0, -178.125,  -176.25, -174.375,   -172.5, -170.625,  -168.75,
                   -166.875,   -165.0, -163.125,
                   ...
                     161.25,  163.125,    165.0,  166.875,   168.75,  170.625,    172.5,
                    174.375,   176.25,  178.125],
                  dtype='float64', name='lon', length=192))
        • Conventions :
          CF-1.7 CMIP-6.2
          activity_id :
          ScenarioMIP
          branch_method :
          standard
          branch_time_in_child :
          60265.0
          branch_time_in_parent :
          60265.0
          contact :
          cmip6-mpi-esm@dkrz.de
          creation_date :
          2019-10-29T16:19:11Z
          data_specs_version :
          01.00.30
          experiment :
          update of RCP2.6 based on SSP1
          experiment_id :
          ssp126
          external_variables :
          areacella
          forcing_index :
          1
          frequency :
          mon
          further_info_url :
          https://furtherinfo.es-doc.org/CMIP6.MPI-M.MPI-ESM1-2-LR.ssp126.none.r1i1p1f1
          grid :
          gn
          grid_label :
          gn
          history :
          2019-10-29T16:19:11Z ; CMOR rewrote data to be consistent with CMIP6, CF-1.7 CMIP-6.2 and CF standards.
          initialization_index :
          1
          institution :
          Max Planck Institute for Meteorology, Hamburg 20146, Germany
          institution_id :
          MPI-M
          mip_era :
          CMIP6
          nominal_resolution :
          250 km
          parent_activity_id :
          CMIP
          parent_experiment_id :
          historical
          parent_mip_era :
          CMIP6
          parent_source_id :
          MPI-ESM1-2-LR
          parent_time_units :
          days since 1850-1-1 00:00:00
          parent_variant_label :
          r1i1p1f1
          physics_index :
          1
          product :
          model-output
          project_id :
          CMIP6
          realization_index :
          1
          realm :
          atmos
          references :
          MPI-ESM: Mauritsen, T. et al. (2019), Developments in the MPI‐M Earth System Model version 1.2 (MPI‐ESM1.2) and Its Response to Increasing CO2, J. Adv. Model. Earth Syst.,11, 998-1038, doi:10.1029/2018MS001400, Mueller, W.A. et al. (2018): A high‐resolution version of the Max Planck Institute Earth System Model MPI‐ESM1.2‐HR. J. Adv. Model. EarthSyst.,10,1383–1413, doi:10.1029/2017MS001217
          source :
          MPI-ESM1.2-LR (2017): aerosol: none, prescribed MACv2-SP atmos: ECHAM6.3 (spectral T63; 192 x 96 longitude/latitude; 47 levels; top level 0.01 hPa) atmosChem: none land: JSBACH3.20 landIce: none/prescribed ocean: MPIOM1.63 (bipolar GR1.5, approximately 1.5deg; 256 x 220 longitude/latitude; 40 levels; top grid cell 0-12 m) ocnBgchem: HAMOCC6 seaIce: unnamed (thermodynamic (Semtner zero-layer) dynamic (Hibler 79) sea ice model)
          source_id :
          MPI-ESM1-2-LR
          source_type :
          AOGCM
          sub_experiment :
          none
          sub_experiment_id :
          none
          table_id :
          Amon
          table_info :
          Creation Date:(09 May 2019) MD5:e6ef8ececc8f338646ebfb3aeed36bfc
          title :
          MPI-ESM1-2-LR output prepared for CMIP6
          variable_id :
          ts
          variant_label :
          r1i1p1f1
          license :
          CMIP6 model data produced by MPI-M is licensed under a Creative Commons Attribution ShareAlike 4.0 International License (https://creativecommons.org/licenses). Consult https://pcmdi.llnl.gov/CMIP6/TermsOfUse for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. Further information about this data, including some limitations, can be found via the further_info_url (recorded as a global attribute in this file) and. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law.
          cmor_version :
          3.5.0
          tracking_id :
          hdl:21.14100/47b33dbd-7fcd-4f09-abcf-25202400ba8c
        InĀ [Ā ]:
        # Plot ERA5 anomalies
        temp_near['anomalies'].mean('time').plot()
        
        Out[Ā ]:
        <matplotlib.collections.QuadMesh at 0x297a4a130>
        No description has been provided for this image
        InĀ [Ā ]:
        # Plotting
        fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(6.5, 6))
        
        # Original Temperature
        temp_near.t2m.mean(dim='time').plot(ax=ax1, cmap='coolwarm')
        ax1.set_title('Mean Temperature (1950-2022)')
        ax1.set_ylabel('Temperature (K)')
        
        # Temperature Anomalies
        temp_near.anomalies.mean(dim='time').plot(ax=ax2, cmap='coolwarm')
        ax2.set_title('Temperature Anomalies (Deviation from Normals)')
        ax2.set_ylabel('Temperature Anomaly (K)')
        
        plt.tight_layout()
        plt.show()
        
        No description has been provided for this image
        InĀ [Ā ]:
        # Plot the temperature anomalies
        temp_near.mean(['lat', 'lon']).anomalies.plot()
        plt.xlabel('')
        plt.ylabel('Temperature anomalies observations (K)')
        
        Out[Ā ]:
        Text(0, 0.5, 'Temperature anomalies observations (K)')
        No description has been provided for this image
        InĀ [Ā ]:
        model['anomalies'].mean('time').plot()
        
        Out[Ā ]:
        <matplotlib.collections.QuadMesh at 0x299e4b610>
        No description has been provided for this image
        InĀ [Ā ]:
        # Plotting
        fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(6.5, 6))
        
        # Original Temperature
        model.ts.mean(dim='time').plot(ax=ax1, cmap='coolwarm')
        ax1.set_title('Mean Temperature (2015-2050)')
        ax1.set_ylabel('Temperature (K)')
        
        # Temperature Anomalies
        model.anomalies.mean(dim='time').plot(ax=ax2, cmap='coolwarm')
        ax2.set_title('Temperature Anomalies (Deviation from Normals)')
        ax2.set_ylabel('Temperature Anomaly (K)')
        
        plt.tight_layout()
        plt.show()
        
        No description has been provided for this image
        InĀ [Ā ]:
        # Plot the temperature anomalies
        model.mean(['lat', 'lon']).anomalies.plot()
        plt.xlabel('')
        plt.ylabel('Temperature anomalies simulation (K)')
        
        Out[Ā ]:
        Text(0, 0.5, 'Temperature anomalies simulation (K)')
        No description has been provided for this image
        InĀ [Ā ]:
        fig, axs = plt.subplots(1, 2, figsize=[12, 4], subplot_kw={'projection': ccrs.PlateCarree()})
        
        axs[0].coastlines()
        temp_near_aligned.t2m.mean(dim='time').plot.pcolormesh(ax=axs[0], cmap='coolwarm')
        axs[0].set_title("ERA5 Mean Temperature 2015-2023", fontsize=10)
        
        axs[1].coastlines()
        
        model_aligned.ts.mean(dim='time').plot.pcolormesh(ax=axs[1], cmap='coolwarm')
        axs[1].set_title("MPI-ESM1-2-LR Mean Temperature 2015-2023", fontsize=10)
        
        plt.tight_layout()
        
        plt.show()
        

        Allineamento Temporale¶

        Plot Anomalie nel periodo comune¶

        InĀ [Ā ]:
        temp_near_aligned = temp_near.sel(time=slice(start_date_model, end_date_temp))
        model_aligned = model.sel(time=slice(start_date_model, end_date_temp))
        
        InĀ [Ā ]:
        import matplotlib.pyplot as plt
        
        # Assuming you have two different models: temp_near_aligned and model_aligned
        
        # Plotting
        fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(13, 8))
        
        # Original Temperature for temp_near_aligned
        temp_near_aligned.t2m.mean(dim='time').plot(ax=ax1, cmap='coolwarm', label='temp_near_aligned')
        ax1.set_title('Mean Temperature (ERA5 Observations)')
        ax1.set_ylabel('Temperature (K)')
        ax1.legend()
        
        # Temperature Anomalies for temp_near_aligned
        temp_near_aligned.anomalies.mean(dim='time').plot(ax=ax3, cmap='coolwarm', label='temp_near_aligned')
        ax3.set_title('Temperature Anomalies from Normals (ERA5 Observations)')
        ax3.set_ylabel('Temperature Anomaly (K)')
        ax3.legend()
        
        # Original Temperature for model_aligned
        model_aligned.ts.mean(dim='time').plot(ax=ax2, cmap='coolwarm', label='model_aligned')
        ax2.set_title('Mean Temperature (MPI-ESM1-2-LR Simulations)')
        ax2.set_ylabel('Temperature (K)')
        ax2.legend()
        
        # Temperature Anomalies for model_aligned
        model_aligned.anomalies.mean(dim='time').plot(ax=ax4, cmap='coolwarm', label='model_aligned')
        ax4.set_title('Temperature Anomalies from Normals (MPI-ESM1-2-LR Simulations)')
        ax4.set_ylabel('Temperature Anomaly (K)')
        ax4.legend()
        
        plt.tight_layout()
        plt.show()
        
        No artists with labels found to put in legend.  Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
        No artists with labels found to put in legend.  Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
        No artists with labels found to put in legend.  Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
        No artists with labels found to put in legend.  Note that artists whose label start with an underscore are ignored when legend() is called with no argument.
        
        No description has been provided for this image
        InĀ [Ā ]:
        temp_near_aligned.mean(['lat', 'lon']).anomalies.plot(label='ERA5 Surface Temperature Anomalies')
        model_aligned.mean(['lat', 'lon']).anomalies.plot(label='MPI-ESM1-2-LR Surface Temperature Anomalies')
        plt.xlabel('Year')
        plt.ylabel('Temperature (K)')
        plt.legend()
        plt.title('Surface Temperature (K) Anomalies from 2015 to 2022 Observations vs Simulation')
        
        Out[Ā ]:
        Text(0.5, 1.0, 'Surface Temperature (K) Anomalies from 2015 to 2022 Observations vs Simulation')
        No description has been provided for this image

        Test se le Differenze sono Statisticamente Significative¶

        Per verificare se la differenza ĆØ statisticamente significativa, utilizzo un test statistico come il t-test di Student.

        InĀ [Ā ]:
        # Calculate the mean over latitude and longitude
        mean_obs = temp_near_aligned.mean(['lat', 'lon']).anomalies
        mean_model = model_aligned.mean(['lat', 'lon']).anomalies
        
        InĀ [Ā ]:
        # Perform a two-sample t-test
        t_stat, p_value = stats.ttest_rel(mean_obs, mean_model)
        
        # Check the p-value to determine significance
        alpha = 0.05
        if p_value < alpha:
            print("The difference is statistically significant (p-value: {:.4f})".format(p_value))
        else:
            print("The difference is not statistically significant (p-value: {:.4f})".format(p_value))
        
        The difference is statistically significant (p-value: 0.0000)
        

        Il test statistico ĆØ stato condotto per confrontare le anomalie di temperatura derivate dalle osservazioni di ERA5 e dalla simulazione del modello MPI-ESM1-2-LR. Un valore p di 0,0000 indica una forte significativitĆ  statistica, sostenendo l'idea che la differenza osservata tra le anomalie di temperatura della superficie nelle osservazioni e nelle simulazioni non ĆØ probabilmente dovuta al caso. Vi ĆØ una robusta evidenza statistica di divergenza tra le temperature osservate e quelle simulate.

        Confronto Temperatura Media Aritmetica e Media Pesata¶

        Calcolare la media temporale della temperatura di superficie a 2 metri con un approccio pesato basato sulla latitudine è utile per garantire una rappresentazione più equa delle variazioni climatiche globali.

        Questo metodo tiene conto dell'importanza relativa di diverse regioni, preservando meglio le tendenze climatiche su scala globale e fornendo una visione più dettagliata delle dinamiche climatiche regionali.

        InĀ [Ā ]:
        # Compute Weights based on Latitude
        weights = np.cos(np.deg2rad(temp_near.lat))
        
        # Create Weighted Dataset
        temp_near_w = temp_near.weighted(weights)
        
        InĀ [Ā ]:
        # Plot arithmetic vs weighted mean on Temperatures
        temp_near_w.mean(['lat', 'lon']).sel({'time': slice('2006', '2016')}).t2m.plot(label = 'Weighted mean')
        temp_near.mean(['lat', 'lon']).sel({'time': slice('2006', '2016')}).t2m.plot(label = 'Mean')
        plt.xlabel('')
        plt.ylabel('Temperature (K)')
        plt.legend()
        
        Out[Ā ]:
        <matplotlib.legend.Legend at 0x296fd6d00>
        No description has been provided for this image
        InĀ [Ā ]:
        # Plot arithmetic vs weighted mean on anomalies
        temp_near_w.mean(["lon", "lat"]).sel({'time': slice('2006', '2016')}).anomalies.plot(label = 'Weighted mean')
        temp_near.mean(['lat', 'lon']).sel({'time': slice('2006', '2016')}).anomalies.plot(label = 'Mean')
        plt.xlabel('')
        plt.ylabel('Temperature Anomalies (K)')
        plt.legend()
        
        Out[Ā ]:
        <matplotlib.legend.Legend at 0x15c5b0ee0>
        No description has been provided for this image

        Le differenze significative tra la media aritmetica e quella ponderata per i valori delle temperature indicano una sensibilitĆ  alla distribuzione geografica dei dati. In particolare, la media ponderata tiene maggiormente conto delle regioni con maggior peso, come ad esempio le aree polari o equatoriali, influenzando il risultato complessivo.

        D'altra parte, le differenze più lievi nelle anomalie suggeriscono che, nonostante le discrepanze nei valori assoluti, le due medie convergono maggiormente quando vengono considerate le deviazioni rispetto alle normali. Questo potrebbe indicare che, mentre le condizioni di base differiscono geograficamente, le tendenze o le variazioni rispetto alla normale sono più consistenti tra i due set di dati.

        Confronto Medie nel Periodo Comune tra Temperatura e Modelli¶

        Temperatura¶

        InĀ [Ā ]:
        # Compute the Dataset weighted
        temp_near_w = temp_near.weighted(weights)
        model_w = model[['ts']].weighted(weights)
        
        InĀ [Ā ]:
        # Plot the time series comparison
        temp_near_w.mean(['lat', 'lon']).sel({'time': slice(start_date_model, end_date_temp)}).t2m.plot(label='Mean Temperature (ERA5 Observations)')
        model_w.mean(['lat', 'lon']).sel({'time': slice(start_date_model, end_date_temp)}).ts.plot(label='Mean Temperature (MPI-ESM1-2-LR Simulations)')
        plt.xlabel('')
        plt.ylabel('Temperature (K)')
        plt.legend()
        
        Out[Ā ]:
        <matplotlib.legend.Legend at 0x174958b80>
        No description has been provided for this image

        Test se le Differenze sono Statisticamente Significative¶

        InĀ [Ā ]:
        # Calculate the mean over latitude and longitude
        mean_obs = temp_near_w.mean(['lat', 'lon']).sel(time=slice(start_date_model, end_date_temp)).t2m
        mean_model = model_w.mean(['lat', 'lon']).sel(time=slice(start_date_model, end_date_temp)).ts
        # Perform a two-sample t-test
        t_stat, p_value = stats.ttest_rel(mean_obs, mean_model)
        
        InĀ [Ā ]:
        # Check the p-value to determine significance
        alpha = 0.05
        if p_value < alpha:
            print("The difference is statistically significant (p-value: {:.4f})".format(p_value))
        else:
            print("The difference is not statistically significant (p-value: {:.4f})".format(p_value))
        
        The difference is statistically significant (p-value: 0.0000)
        

        I valori del p-value ottenuto dal test statistici sono inferiori a 0,05, portando al rifiuto dell'ipotesi nulla e indicando che le differenze osservate sono statisticamente significative. Ciò implica che vi sono disparità tra i dataset confrontati.

        Anomalie¶

        InĀ [Ā ]:
        # Compute the Dataset weighted
        temp_near_w = temp_near.weighted(weights)
        model_w = model[['anomalies']].weighted(weights)
        
        InĀ [Ā ]:
        # Plot the time series comparison
        temp_near_w.mean(['lat', 'lon']).sel({'time': slice(start_date_model, end_date_temp)}).anomalies.plot(label='Temperature Anomalies from Normals (ERA5 Observations)')
        model_w.mean(['lat', 'lon']).sel({'time': slice(start_date_model, end_date_temp)}).anomalies.plot(label='Temperature Anomalies from Normals (MPI-ESM1-2-LR Simulations)')
        plt.xlabel('')
        plt.ylabel('Temperature (K)')
        plt.legend()
        
        Out[Ā ]:
        <matplotlib.legend.Legend at 0x1776b2040>
        No description has been provided for this image

        Da questo plot noto che ci sono delle differenze nelle anomalie pesate tra la temperatura osservata e il modello.

        L'approccio pesato dà più peso alle variazioni climatiche nelle regioni specifiche, come ad esempio quelle vicino all'equatore o polari, e le discrepanze maggiori potrebbero indicare una risposta diversificata in queste aree.

        In altre parole, le variazioni regionali nel modello potrebbero deviare in modo più sostanziale dalle variazioni osservate quando si considera il peso relativo attribuito a ciascuna latitudine nelle anomalie pesate. Questo può essere dovuto a differenze nei parametri del modello o nella rappresentazione delle dinamiche climatiche regionali.

        Test se le Differenze sono Statisticamente Significative¶

        InĀ [Ā ]:
        # Calculate the mean over latitude and longitude
        mean_obs = temp_near_w.mean(['lat', 'lon']).sel(time=slice(start_date_model, end_date_temp)).anomalies
        mean_model = model_w.mean(['lat', 'lon']).sel(time=slice(start_date_model, end_date_temp)).anomalies
        # Perform a two-sample t-test
        t_stat, p_value = stats.ttest_rel(mean_obs, mean_model)
        
        InĀ [Ā ]:
        # Check the p-value to determine significance
        alpha = 0.05
        if p_value < alpha:
            print("The difference is statistically significant (p-value: {:.4f})".format(p_value))
        else:
            print("The difference is not statistically significant (p-value: {:.4f})".format(p_value))
        
        The difference is statistically significant (p-value: 0.0000)
        

        I valori del p-value ottenuto dal test statistici sono inferiori a 0,05, portando al rifiuto dell'ipotesi nulla e indicando che le differenze osservate sono statisticamente significative. Ciò implica che vi sono disparità tra i dataset confrontati.

        Analisi del Trend con Regressione Lineare¶

        InĀ [Ā ]:
        # Plot the global anomalies of the 2 datasets
        fig, ax = plt.subplots()
        temp_near_w.mean(['lat', 'lon']).anomalies.plot(label='ERA5 Observations')
        model_w.mean(['lat', 'lon']).anomalies.plot(label='MPI-ESM1-2-LR Simulations')
        plt.xlabel('')
        plt.ylabel('Temperature Anomalies (K)')
        plt.legend()
        ax.xaxis.set_major_locator(mdates.YearLocator(10))
        
        plt.axvspan(datetime(1961,1,1), datetime(1990,12,31), ymax=0.02, color="red", alpha=0.3)
        
        Out[Ā ]:
        <matplotlib.patches.Polygon at 0x129e5e760>
        No description has been provided for this image
        InĀ [Ā ]:
        # Plot the the time series with linear regression
        
        # Anomalies
        anom1 = temp_near.anomalies.mean(['lat', 'lon'])
        anom2 = model.anomalies.mean(['lat', 'lon'])
        
        # Linear regression
        x1 = np.arange(temp_near.time.size)
        x2 = np.arange(model.time.size)
        
        fit1 = np.polyfit(x1, anom1, 1)
        fit2 = np.polyfit(x2, anom2, 1)
        
        fit_func1 = np.poly1d(fit1)
        fit_func2 = np.poly1d(fit2)
        
        # Plot time series
        fig, ax = plt.subplots()
        anom1.plot(label='ERA5 2mt')
        anom2.plot(label='MPI-ESM1-2-LR ssp126 2mt')
        
        # Plot linear regression
        ax.plot(temp_near.time, fit_func1(x1), color='black', label='Linear regression')
        ax.plot(model.time, fit_func2(x2), color='black')
        
        plt.xlabel('')
        plt.ylabel('Temperature Anomalies')
        plt.legend()
        ax.xaxis.set_major_locator(mdates.YearLocator(10))
        
        plt.axvspan(datetime(1961,1,1), datetime(1990,12,31), ymax=0.02, color="red", alpha=0.3)
        
        Out[Ā ]:
        <matplotlib.patches.Polygon at 0x12aa29670>
        No description has been provided for this image

        Ho eseguito un'analisi del trend delle anomalie utilizzando la regressione lineare, concentrandomi sul confronto tra le anomalie del modello MPI-ESM1-2-LR in scenario ssp126 e le osservazioni di ERA5. Noto che le anomalie del modello iniziano da un valore più elevato rispetto alle anomalie osservate. In generale, emergono differenze nei valori delle anomalie tra il modello e le osservazioni. Inoltre, ho osservato che entrambi mostrano un trend positivo, e questi trend sembrano seguire una traiettoria parallela nel tempo.